linux下刪除指定crontab定時任務


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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章