1、新建兩個腳本文件用來進行測試
test1.sh
ping 114.114.114.114
test2.sh
ping 8.8.8.8
2、通過crontab -e命令編輯crontab任務,增加內容如下:
*/1 * * * * /dd/shell/test1.sh
*/1 * * * * /dd/shell/test2.sh
添加完成後,查看下crontab內容:
[root@localhost shell]# crontab -l
*/1 * * * * /dd/shell/test1.sh
*/1 * * * * /dd/shell/test2.sh
增加了crontab任務後,在/var/spool/cron目錄下會有一個當前登錄賬號命名的文件。比如我的登錄賬號是root。則會存在一個root文件。該文件的內容就是剛添加的crontab任務。
[root@localhost cron]# cat /var/spool/cron/root
*/1 * * * * /dd/shell/test1.sh
*/1 * * * * /dd/shell/test2.sh
3、刪除crontab內容裏的test2.sh的任務
其實該處是使用sed命令來處理/var/spool/cron/root 文件,將含test2.sh的行的內容刪除掉。
sed -i '/test2.sh/d' /var/spool/cron/root
命令執行完後,再通過crontab -l命令查看。
[root@localhost shell]# crontab -l
*/1 * * * * /dd/shell/test1.sh
可以看到test2.sh的任務被刪除掉了。通過觀察,test2.sh的腳步也不再被執行。說明確實刪除成功。
4、刪除crontab內容空白行
在執行完上面的sed -i的命令後,crontab -l會發現多出一行空白,如果你覺得看的彆扭,你可再通過如下sed命令把空白行刪除掉。
sed -i '/^$/d' /var/spool/cron/root
本人實戰案例:
第一步查看用戶,我的是root 下的定時任務
cat /var/spool/cron/crontabs/root
第二步看命令執行語句
*/2 * * * * cd /mnt/c/Users/yongxinboy/Desktop && python3 test.py >> /mnt/c/Users/yongxinboy/Desktop/test.log 2>&1
第三步刪除
sed -i '/test.py/d' /var/spool/cron/crontabs/root