大家好,又见面了,我是你们的朋友全栈君。
1.安装crontab
yum install vixie-cron
yum install crontab
2.启动crontab服务
service crond start
用以下的方法启动、关闭这个cron服务: service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载入配置
查看crontab运行状态
service crond status
3.加入开机自动启动: chkconfig –level 35 crond on 或chkconfig crond on
4.编写脚本
touch /home/sq.sh 在home目录下新建sq.sh脚本
编辑脚本并写入命令执行语句
vi /home/sq.sh
#! /bin/bash 是必须要写的,表示要是/bin/bash这个执行脚本的命令执行接下来写的脚本, echo “hello world !!”表示想前端打印一句话即输出语句,>>表示将语句输出到指定路径
脚本编写完成后,.通过chmod命令赋予该脚本的执行权限chmod 777 sq.sh,否则没有执行权限
5.添加任务调度
crontab -e进入添加页面,添加*/1 * * * * /home./sq.sh表示每分钟执行一次改脚本
输入完毕后输入:wq保存退出
6.crontab -l 查看已经添加的任务调度
7.重启任务调度服务开始执行任务调度
/etc/init.d/crond restart
8.查看任务调度是否生效
tail -f /home/sq_nohup.out
备注:
minute hour day month dayofweek command
minute – 从0到59的整数
hour – 从0到23的整数
day – 从1到31的整数 (必须是指定月份的有效日期)
month – 从1到12的整数 (或如Jan或Feb简写的月份)
dayofweek – 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)
command – 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)
root表示以root用户身份来运行
run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本
对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。 整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。
符号“/”指定步进设置。“/<interger>”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。
例:每天早上6点
1 | 0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。 |
---|
例:每两个小时
1 | 0 */2 * * * echo "Have a break now." >> /tmp/test.txt |
---|
例:晚上11点到早上8点之间每两个小时,早上八点
1 | 0 23-7/28 * * * echo "Have a good dream:)" >> /tmp/test.txt |
---|
例:每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
1 | 0 11 4 * 1-3 command line |
---|
例:1月1日早上4点
1 | 0 4 1 1 * command line |
---|
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160697.html原文链接:https://javaforall.cn