cron 작업으로 실행되는 모든 스크립트 및 해당 경로 목록을 가져옵니다.

cron 작업으로 실행되는 모든 스크립트 및 해당 경로 목록을 가져옵니다.

나는 cron, cron.daily 및/또는 anacron에 의해 주기적으로 실행되는 모든 활성 스크립트(가급적 경로와 함께)를 나열하기 위한 일부 스크립트 또는 터미널 명령을 찾고 있습니다. 나는 스크립트의 특정 기간에 대한 필터를 찾고 있지 않으며 나열된 모든 스크립트가 필요합니다(그러나 일부 관리자는 이러한 종류의 필터를 원할 수 있습니다).

목적:정기적으로 실행되는 모든 스크립트를 문서화하여 디버깅이나 오류 확인, 업데이트 및 최신 시스템으로의 전송이 쉽고 효율적이도록 합니다.

감사해요

답변1

이것이 당신이 원하는 것인지 잘 모르겠습니다. 얼마 전에 일부 stackexchange에서 이 답변을 찾았고 한 서버에서 사용합니다.

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

그러면 모든 사용자의 모든 crontab이 나열됩니다.

답변2

cron.hourly인터넷에서 찾은 모든 것에 대해 이해하지 않고 실행해서는 안 되지만 다음은 / cron.daily/ 폴더 에서 실행되는 스크립트의 파일 이름과 표시 경로를 가져옵니다 cron.monthly... (내 경우 CentOS)

cd /etc/cron.hourly/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.daily/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.weekly/&&for i in $(ls);do find `pwd` -name $i;done&&cd /etc/cron.monthly/&&for i in $(ls);do find `pwd` -name $i;done

기본적으로 이것의 여러 버전:

cd /etc/cron.hourly/&&for i in $(ls);do find 'pwd' -name $i;done

디렉토리로 변경한 다음 각 파일 이름에 대해 ls경로를 찾아 표시합니다.

편집: 구조를 좋아하는 코더 사람들을 위해... 함수와 같은 것:

function AllTheCrons {
    cd /etc/cron.hourly/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
    cd /etc/cron.daily/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
    cd /etc/cron.weekly/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
    cd /etc/cron.monthly/
    for i in $(ls);
        do
            find `pwd` -name $i;
        done;
}

그런 다음 다음을 실행하십시오.

AllTheCrons

관련 정보