我正在尋找一些腳本或終端命令來列出所有活動腳本(最好帶有它們的路徑),這些腳本由 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