Linux定时任务(详细)

Linux定时任务
一、首先查看是否安装了crontab
[root@master ~]# rpm -qa |grep crontab
crontabs-1.11-6.20121102git.el7.noarch

出现crontabs-1.11-6.20121102git.el7.noarch代表已经安装
若未安装则执行下面

1.yum install vixie-cron
2.yum install crontabs
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序

crontab服务启动与关闭
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

service crond status //查看状态

chkconfig crond on //设置开机自动启动crond服务:

chkconfig –list crond //开机级别的crond服务运行情况 ,2、3、4、5级别开机会自动启动crond服务
chkconfig crond off//取消开机自动启动crond服务:


crontab文件格式:


*            *        *       *         *
minute hour day month week command

分 时 天 月 星期 命令
minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

“*”代表取值范围内的数字 例如month字段如果是星号,则表示每月都执行该命令操作
“/”代表每,可以指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
“-”代表从某个数字到某个数字 例如“2-6”表示“2,3,4,5,6”
“,”分开几个离散的数字 例如,“1,3,5,7,9”

查询当前用户定时任务或删除当前用户定时任务
crontab -l --列出当前用户定时任务

crontab -r --删除当前用户定时任务(删除所有,除非不再使用,否则没必要使用

写个定时任务例子
例:每隔一分钟向test.txt写入一个"hello"的定时任务
1.先创建一个test.txt文件 touch test.txt

2.再创建一个test.sh vim test.sh
写入:
echo "hello">>/usr/local/test/test.txt

2.1你不像上面这样写也行(看下面3的第二种)


然后esc, :wq退出

[root@master test]# ll test.sh
-rw-r--r-- 1 root root 50 9月 3 19:28 test.sh
[root@master test]# chmod a+x test.sh
[root@master test]# ll test.sh
-rwxr-xr-x 1 root root 50 9月 3 19:28 test.sh

chmod a+x test.sh --给test.sh脚本执行赋权
ll test.sh --查看脚本是否有执行权限
3.写定时任务
crontab -e
*/1 * * * * /usr/local/test/test.txt

第二种避免了写test.sh脚本(*/1 * * * * echo "hello">>/usr/local/test/test.txt)

然后过一会cat test.txt查看文件内容

每次写完定时任务退出之后都会有一个提示:
定时任务:crontab: installing new crontab
注意:用crontab -e 编辑的定时任务三分钟之内是不会执行的,所以在测试的时候,至少时间后推三分钟!

 

脚本设置
设置脚本
命令行输入:crontab -e 进入后编写想要执行的脚本
*/1 * * * * /usr/..... 每一分钟执行一次
*/5 * * * * /usr/..... 每五分钟执行一次
0 */1 * * * /usr/..... 每小时执行一次
30 1 * * * /usr/..... 每天1:30执行一次
0 23-7/2,8 * * * 晚上11点到早上8点之间每两个小时和早上八点
0 11 4 * 1-3 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
22 4 * * 0 每星期(周日凌晨4:22)执行
42 4 1 * * 每月(1号凌晨4:42)去执行


如果还是不知道每几分钟,几小时,几天…怎么写的看下面直接点击下面
在线查看工具(自己去试几下)

相关定时任务例子(不会结合工具自行查看)

要还是不会,回家种田吧…
种田都需要技术…

如果看的条理不清晰请点击链接到本人CSDN:https://blog.csdn.net/qq_43278189/article/details/120088263

posted @ 2021-09-03 20:56  ld_nil  阅读(10326)  评论(0编辑  收藏  举报