大家好,又见面了,我是你们的朋友全栈君。
Linux系统的计划任务
Linux系统运维工程师大部分管理工作都是通过定期自动执行某一脚本来完成的。
Cron功能很重要,牢记!!!
计划功能Crontab:-u:(user)表示指定某个用户,不加-u则为当前用户
-e:表示指定计划任务
-l:(list)表示列出计划任务
-r:(remove)表示删除计划任务#crontab -e
01 10 05 06 3 echo “ok” > /root/cron.log
命令解释:编写一个任务计划,实际上使用vim打开crontab配置文件
01 10 05 06 3 依次为“分 时 日 月 周 命令行”
如上表示为6月5日(必须是周三)10点01分执行 echo “ok” > /root/cron.log
crontab -e 实际打开了/var/spool/cron/username 文件
如果用户是root 则打开了/var/spool/cron/root
★注:千万不能直接用vim去编辑,会出错,一定要用crontab -e去编辑
查看已经设定的任务计划#crontab -l
删除已经设定的任务计划#crontab -r
Crontab 练习题
每天凌晨1点20分清除/var/log/slow.log这个文件
每周日3点执行 “/bin/sh /usr/local/sbin/backup.sh”
每月14号4点10分执行 “/bin/sh /usr/local/sbin/backup_month.sh”
每隔8小时执行 “ntpdate time.windows.com”
每天的1点,12点,18点执行 “/bin/sh /usr/local/sbin/test.sh”
每天的9点到18点执行 “/bin/sh /usr/local/sbin/test2.sh”
习题答案:1. 20 1 * * * echo “” >/var/log/slow.log
2. 0 3 * * 0 /bin/sh /usr/local/sbin/backup.sh
3. 10 4 14 * * /bin/sh /usr/local/sbin/backup_month.sh
4. 0 */8 * * * ntpdate time.windows.com
5. 0 1,12,18 * * * /bin/sh /usr/local/sbin/test.sh
6. 0 9-18 * * * /bin/sh /usr/local/sbin/test2.sh
每隔8小时,就是用全部小时(0-23)去除以8,仔细想一下结果,其实算出来应该是0,8,16三个数。
当遇到多个数(分钟、小时、月、周)例如第5题,则需要用逗号隔开。
而时间段是可以用n-m的方式表示的,比如第六题中的(9-18)。
等设置好了所有的计划任务后需要查看一下crond服务是否启动:#service crond status
如果是停止状态,则需要启动它:#service crond start
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159819.html原文链接:https://javaforall.cn