使用shell脚本或命令行 添加crontab 定时任务

半世苍凉 提交于 2020-01-16 00:55:39

crontab 是运维过程中常用的定时任务执行工具

        一般情况下在有新的定时任务要执行时,使用crontab -e ,将打开一个vi编辑界面,配置好后保存退出,但是在自动化运维的过程中往往需要使用shell脚本或命令自动添加定时任务。接下来结束三种(Centos)自动添加的crontab 任务的方法:

方法一:

编辑 /var/spool/cron/用户名 文件,如:

echo "* * * * * hostname >> /tmp/tmp.txt" >> /var/spool/cron/root

优点:简单

缺点:需要root权限

 

方法二:

编辑 /etc/crontab 文件,

echo "* * * * * root hostname >> /tmp/tmp.txt" >> /etc/crontab

需要注意的是,与常用的crontab 有点不同,/etc/crontab 需指定用名。而且该文件定义为系统级定时任务 不建议添加非系统类定时任务,编辑该文件也需要root权限

 

方法三:

 利用crontab -l 加 crontab file 两个命令实现自动添加

crontab -l > conf && echo "* * * * * hostname >> /tmp/tmp.txt" >> conf && crontab conf && rm -f conf

由于crontab file会覆盖原有定时任务,所以使用 crontab -l 先导出原有任务到临时文件 “conf” 再追加新定时任务

优点:不限用户,任何有crontab权限的用户都能执行

缺点:稍微复杂
————————————————
版权声明:本文为CSDN博主「Gafx」的原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mzc11/article/details/81842534

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!