Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux crontab(cronie),运行每月的某些天_Linux_Cron_Fedora_Dayofmonth - Fatal编程技术网

Linux crontab(cronie),运行每月的某些天

Linux crontab(cronie),运行每月的某些天,linux,cron,fedora,dayofmonth,Linux,Cron,Fedora,Dayofmonth,我想创建一个crontab条目,它将在每个工作日运行,每个月的第一、第二和第三天除外。以下是我所拥有的: 45 8,12,16 4-31 * 1-5 my_program 我认为这有以下含义: minutes: 45 past the hour hours: 8, 12, and 16 day of month: 4th to 31st inclusive month: all day of week: Monday to Friday inclu

我想创建一个crontab条目,它将在每个工作日运行,每个月的第一、第二和第三天除外。以下是我所拥有的:

45   8,12,16 4-31 * 1-5  my_program
我认为这有以下含义:

minutes:      45 past the hour
hours:        8, 12, and 16
day of month: 4th to 31st inclusive
month:        all
day of week:  Monday to Friday inclusive
这就是我在
crontab(5)
manual页面中读到的内容。但是,我可以看到作业在今天08:45运行,即10月2日星期一。我确信crontab文件加载正确(并且
crontab-l
显示了它);最近没有改变。
date
显示的系统日期和时间也正确

我遗漏了什么来确保我的cron作业只从第四个开始运行?我正在使用Fedora Linux:

% rpm -qf `which crontab`
cronie-1.5.0-3.fc23.x86_64
% rpm -q fedora-release
fedora-release-23-1.noarch

crontab
手册:

注意:命令的执行日期可以由两个指定 字段-月日和周日。如果两个字段都被限制 (即,ARE NOT*),当任一字段 匹配当前时间。例如 ``30 4 1,15*5''将导致在每月1日和15日上午4:30以及每个星期五运行命令。但是可以,, 通过向命令中添加测试来实现所需结果(请参见 下面的示例CRON文件中的最后一个示例)

上述示例如下所示:

0 4 8-14 * *    test $(date +\%u) -eq 6 && echo "2nd Saturday"
因此,在您的情况下,它将是这样的(未经测试):

谢谢——克朗塔布上有一条多么奇怪的小皱纹啊!最后,我会在一周的所有日子里运行它,因为我不太在乎它,但我确实希望避免月初。
45   8,12,16 4-31 * *  test $(date +\%u) -lt 6 && my_program