本來直接用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
