欢迎大家来到IT世界,在知识的湖畔探索吧!
cron 是一个linux下的定时执行工具。用户可以使用crontab工具来配置cron任务。
安装crontab
yum install crontabs
cron 计划任务, 一定要修改时区, 否则按照国际标准时间执行;
查看时区
> # ll /etc/localtime
lrwxrwxrwx. 1 root root 35 1月 26 2021 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
设置时区
> # tzselect
……
查看时区
># ll ll /etc/localtime
lrwxrwxrwx 1 root root 33 7月 31 21:38 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
在线crontab表达式执行时间计算
https://www.matools.com/crontab
启动
/sbin/service crond start 启动服务
/sbin/service crond stop 关闭服务
/sbin/service crond restart 重新启动服务
/sbin/service crond reload 重新载入配置
查看服务状态 service crond status
启动服务 service crond start
crontab命令
crontab -u user:用来设定某个用户的crontab服务, 例如, “-u mysql”表示设定mysql用户的crontab服务, 此参数一般有root用户来运行。
crontab -l 显示某个用户的crontab文件内容, 如果不指定用户, 则表示显示当前用户的crontab文件内容。
crontab -r 从/var/spool/cron目录中删除某个用户的crontab文件, 如果不指定用户, 则默认删除当前用户的crontab文件。
crontab -e 编辑某个用户的crontab文件内容。如果不指定用户, 则表示编辑当前用户的crontab文件。
任务调度指令设置
定义:规定系统在指定的时间完成指定的任务过程。
设置:
> crontab –e //编辑任务调度指令
> crontab –l //查看任务调度指令
具体使用
分钟 小时 日期 月份 星期 指示命令
43 21 * * * 每天的21:43 执行
0 17 * * 1 每周一的 17:00 执行
42 4 1 * * 毎月1日的 4:42分 执行
0 21 * * 1-6 周一到周六 21:00 执行
2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02 执行 */2
30 5 1,15 * * 1日和15日的 5:30 执行
分钟:0-59 小时:0-23 天:1-31 月:1-12 星期:0-6 0为星期天
如下所示:
# crontab -e
no crontab for root – using an empty one
写入如下内容:
01 10 05 06 3 echo “ok” > /root/cron.log
上例表示在6月5日(这一天必须是星期三)的10点01分执行命令echo “ok” > /root/cron.log
也可以编写多个任务调度指令
查看任务调度指令
# crontab -l
01 10 05 06 3 echo “ok” > /root/cron.log
删除任务调度指令
# crontab -r
at
可以设置在指定的时间执行指定的命令, 与crontab命令不同, 通过at命令定义的任务, 只能运行一次
常见用法:
3天后的凌晨2点运行此命令
# at 02:00 +3 days
at> /tmp/loop.sh
查看当前所有的at任务, 同样使用-l参数:
# at -l
1 Sun May 20 02:00:00 2018 a root
删除指定的任务, 需要先查看任务的id, 比如上述的任务id是1:
# at -d 1
其他常见设置
三个周后的上午10点开始运行这个任务at 10:00 + 3 weeks /tmp/backup.sh
明天下午4点运行这个任务
# at 4pm tomorrow /tmp/test.sh
下个月1号下午10点执行这个任务
# at 22:00 6/1/2018 /tmp/test.sh
两个小时后执行这个任务
# at now + 2 hours /tmp/test.sh
30分钟后运行这个任务
# at now + 30mins /tmp/test.sh
查看我们刚才设置的任务
# at -l
crontab -e
*/1 * * * * root /data/shell/checkCloud.sh >/dev/null 2>&1
*/2 * * * * root /data/shell/checkCloud.sh >/dev/null 2>&1
如果计划任务没有生效:
service crond start 重启cron服务
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35510.html