linux下利用shell腳本實現添加crontab任務


本來直接用crontab -e 就可以打開vim,輸入要執行的任務保存退出就可以添加任務直接啟動運行了。但是今天組長說能不能寫個shell不用打開vi就能添加到crontab的。

最先想到的是怎么在shell腳本里面如何使用vi的命令,網上找了好多,要么格式太亂,要么沒明白意思直接告訴vi的使用方法,所以只好舍棄了。

下面說我的方法吧

test.sh :里面寫的是要執行的具體任務。

call.sh是交個人直接雙擊就能實現添加crontab任務的:內容如下:

#!/bin/sh

echo "*/5 * * * * /home/../test.sh" >> /var/spool/cron/username

 

就這么兩行的內容

一般執行crontab -e命令都是直接往/var/spool/cron下創建一個文件,這個文件的名稱就是你的當前用戶名,內容就是你添加的任務具體內容。

但是call.sh執行的時候需要root權限。

 

實際配置:

定期刪除log日志文件

 

echo "start deploy crotab for logs delete"

 

if [ ! -e /var/spool/cron/ ];then
mkdir -p /var/spool/cron/
fi

 

if [ `grep -v '^\s*#' /var/spool/cron/root |grep -c '/data/socket'` -eq 0 ];then
echo "30 0 * * * /bin/find /data/socket -name *.log -mtime +60 -type f |xargs rm -rf {};" >> /var/spool/cron/root

 

fi

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM