linux的周期计划任务在每个月的最后一天执行 该怎么写

发布网友 发布时间:2022-02-26 11:14

我来回答

4个回答

懂视网 时间:2022-02-26 15:35

产品型号:thinkpad E15

系统版本:centos7

软件版本:crontab 1.5

在linux系统中,执行周期的任务,可以使用crontab。crontab会把你指定的工作或任务,按照你设定的周期一直循环执行下去启动crond服务[root@xuegod63 ~]# systemctl start crond 

crontab具体计划任务书写格式:

*  *  *  *  *  command需要执行的命令

分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列表示星期0~6(星期日用0或7表示)

第6列要运行的命令

 

一行对应一个任务,特殊符号的含义:    

*        代表取值范围内的数字      (每)

/        指定时间的间隔频率 */10   0-23/2

-        代表从某个数字到某个数字       8-17 

      分开几个离散的数字 6,10-13,20

 

创建计划任务

例1:每天凌晨2点1分开始备份数据

[root@xuegod63 spool]# crontab -e           #添加计划任务

1 2 * * *  tar zcvf /opt/grub2.tar.gz  /boot/grub2

[root@xuegod63 ~]# crontab  -l                 #查看

例2:以非root用户添加计划任务。  这里使用bin用户来添加

[root@xuegod63 ~]# crontab -u bin -e

*/10  * * * * echo "aaaaaaa"  >> /tmp/bin.txt

系统级别的计划任务

[root@xuegod63 etc]# vim /etc/crontab

1 2 * * *  root echo "aaaaaaa"  >> /tmp/1.txt

热心网友 时间:2022-02-26 12:43

何必为难自己呢,选最后一天?选每个月的第一天不也一样?
如果你真的要选最后一天,就写12条吧,每个月一条,但是也不是很准确,因为有些年的2月的最后一天是29,所以要准确点还要要通过写shell程序实现,相当麻烦。

热心网友 时间:2022-02-26 14:01

判断某个日期的第二天是否是1号,就知道该日是不是本月的最后一天了
30 18 28-31 * * [ `date -d tomorrow +\%e` -eq 1 ] && command

热心网友 时间:2022-02-26 15:36

安装webmin直接加

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com