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

 

 

posted @ 2018-01-22 17:45  Oops!#  阅读(15004)  评论(0编辑  收藏  举报