1. 程式人生 > >shell 新增crontab 任務

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/root

就這麼兩行的內容

一般執行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