在 SuSE/etc/crontab中,运行cron.{hourly,daily,monthly,weekly}脚本的条目编码为:
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
请注意,规范的第一个字符是破折号 (-),这不是拼写错误。
有人可以解释一下时间规范-*/15是什么意思吗?
顺便说一句,这些东西似乎运行良好。
-q 和 -O 在以下 cronjob 中是什么意思?
*/30 * * * * /usr/bin/wget -q -O /dev/null http://example.com/moodle/admin/cron.php
Run Code Online (Sandbox Code Playgroud) 我有一个程序可以将文件从网络驱动器复制到每个用户的特定位置。它需要每 12 小时执行一次,并且需要在系统(redhat linux)启动时启动。
我正在考虑将程序转换为守护程序并让它休眠 12 个小时,然后醒来,复制文件并进入睡眠状态。然而,这是矫枉过正吗?
更好的是:一个简单的程序,它复制文件,然后每 12 小时从 CRON 作业或守护程序中退出并调用它?什么对系统更好?
谢谢!
哪个在上午 9 点到下午 5:30 之间每 2 分钟一班?如果是 9 点到 5 点,我可以让它运行,但只是没有到下午 5 点 30 分?有出路吗?
PS:除了拆分作业
我正在使用双重性通过 FTP 创建我的服务器的夜间备份。我编写了一个脚本,它执行本地和远程备份并记录输出结果。当我以 root 用户身份运行此脚本时,它执行得很好。但是,当我将其设置为 cron 作业并运行它时,脚本会执行但 ftp 部分失败。在我收到一条错误消息“ncftpls - 未找到命令,请安装 ncftp 3.1.9 或更高版本”后不久,但它已安装!是否有某种原因导致 cron 作业无法找到机器上存在的命令?它有自己的 PATH 或类似的东西吗?
任何帮助是极大的赞赏,
麦克风
我使用 perl 脚本在 rrd 中创建了我的系统图。当我手动运行脚本时,它会更新图表。另一方面,cron 在日志中显示作业已执行,但不更新图表.. 有什么帮助吗?
我已经设置了 apache2 目录权限 root:apache 与 770
发行版:CentOs 5.5。
定时配置:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/user/graphs/script-rrd.pl > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
我已经检查了 /var/log/cron 它表明上面的脚本已经被执行,但它没有更新 /var/html/www/graphs.png 中的图形
此问题的解决:
cp -rf /opt/rrdtool-1.4.4/lib/perl/5.8.8/i386-linux-thread-multi/* /usr/lib/perl/site_perl
在 /usr/lib/perl5/site_perl 中复制 rrd 内容后问题已解决。
我已经创建了 PERL5LIB。创建 PERL5LIB 后,我能够手动运行脚本,但它不是由 cron 运行的,所以这就是为什么我必须复制上述文件。
SELINUX 如下: SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0
我已经为我从 Hostgator 开发的网站购买了托管服务。但是,开发人员说他为我开发的站点无法托管在那里,因为他需要能够在后台运行 cron 作业,并希望我在他的服务器上托管(这要贵得多)。我知道通过我的托管,我可以通过 cpanel 设置 cron 作业。这些作业不是在后台运行吗?我真的需要更换主机还是这个开发人员只是想给我挤更多的钱?有人可以告诉我我的开发人员在说什么吗?
似乎是一个如此简单的问题,但我找不到答案:
Cron 计划每天运行,比如午夜。如果我的系统在那段时间处于离线状态,而我在第二天打开它,cron 将不会在启动时运行我的作业。有没有办法改变这种行为,比如让所有积压的作业在启动时立即运行?
我想在每个月的第 1 天运行一些作业,在每周的第 1 天运行其他作业,但如果两者发生冲突怎么办?在这种情况下,月份应该优先。我怎么告诉这个cron?
# run on every day 1 of each month:
59 12 1 * * user script_month
# run on every day 1 of each week:
59 12 * * 1 user script_week
Run Code Online (Sandbox Code Playgroud)
编辑 1:
有一个使用“IF”的答案,这是一个很好的解决方法。
那这个呢:
# run on every day 1 of each week:
59 12 2-31 * 1 user script_week
Run Code Online (Sandbox Code Playgroud)
也许它也符合我的要求?(在第 1 天的所有周运行,除非是当月的第 1 天)
编辑2:
我找到了这个:
“如果两个 [日期] 字段都受到限制(即不是 *),则当任一字段与当前时间匹配时,将运行该命令。” (来源:http : //thewatertower.org.uk/news/000160/crontab_the_first_five_fields_combine_to_restrict_the_schedule_except_for_when_they_dont.html)
似乎不可能像我在编辑 1 中写的那样?
我需要在服务器上找到所有自动运行的脚本。服务器昨天崩溃了 2 次,我需要将所有 cron 脚本移动到备份服务器。请告诉我如何识别这些脚本?