使⽤shell命令⾏添加crontab定时任务与使⽤sed来注释恢复crontab中的⼀个任
⼀、使⽤shell命令⾏添加crontab 定时任务
shell界面crontab 是运维过程中常⽤的定时任务执⾏⼯具
⼀般情况下在有新的定时任务要执⾏时,使⽤crontab -e ,将打开⼀个vi编辑界⾯,配置好后保存退出,但是在⾃动化运维的过程中往往需要使⽤shell脚本或命令⾃动添加定时任务
⽅法⼀:
编辑 /var/spool/cron/⽤户名 ⽂件,如:
echo "* * * * * hostname >> /">>/var/spool/cron/root
优点:简单
缺点:需要root权限
⽅法⼆:
编辑 /etc/crontab ⽂件,
echo"* * * * * root hostname >> /">> /etc/crontab
需要注意的是,与常⽤的crontab 有点不同,/etc/crontab 需指定⽤名。⽽且该⽂件定义为系统级定时任务 不建议添加⾮系统类定时任务,编辑该⽂件也需要root权限
⽅法三:
利⽤crontab -l 加 crontab file 两个命令实现⾃动添加
crontab -l > conf &&echo"* * * * * hostname >> /">> conf &&crontab conf &&rm -f conf
由于crontab file会覆盖原有定时任务,所以使⽤ crontab -l 先导出原有任务到临时⽂件 “conf” 再追加新定时任务
优点:不限⽤户,任何有crontab权限的⽤户都能执⾏
缺点:稍微复杂
⼆、使⽤sed来注释/恢复crontab中的⼀个任务
1. 快速注释包含特定字符串Log_exception_restart 的⾏
sed -e "/Log_exception_restart/ s/^/#/" -i /var/spool/cron/root
2. 快速打开特定字符串Log_exception_restart的⾏
sed -e "/Log_exception_restart/ s/^#//" -i /var/spool/cron/root

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。