Questions tagged «cron»

Cron是一个作业调度程序,它允许用户定期运行命令。

3
安排每月的最后一天
我从一条指令中了解到如何在一个月的最后一天安排脚本: 注意: 精明的读者可能会想知道如何设置命令才能在每月的最后一天执行,因为您无法将dayofmonth值设置为覆盖每个月。这个问题困扰着Linux和Unix程序员,并催生了许多不同的解决方案。一种常见的方法是添加一个if-then语句,该语句使用date命令检查明天的日期是否为01: 00 12 * * * if [`date +%d -d tomorrow` = 01 ] ; then ; command1 该命令每天中午12点进行检查,以查看是否是该月的最后一天,如果是,则cron运行命令。 [`date +%d -d tomorrow` = 01 ]工作如何? 陈述正确then; command1吗?
10 shell-script  cron  date  test 

5
cron作业上的nginx logrotate错误
我在Digital Ocean VPS上运行Ubuntu 14.04 LTS和Nginx,偶尔收到这些有关cron作业失败的电子邮件: 学科 Cron测试-x / usr / sbin / anacron || (cd / && run-parts --report /etc/cron.daily) 电子邮件的正文为: /etc/cron.daily/logrotate:错误:为/var/log/nginx/*.log运行部分运行共享的postrotate脚本时出错:/etc/cron.daily/logrotate退出,返回码为1 关于如何解决此问题有任何想法吗? 更新: /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi …
10 ubuntu  cron  nginx  logrotate 

5
更改cronjob的时区
我有一个cronjob,它每天在UTC时间的9:00 AM执行。我在GMT + 1上,因此它在当地时间10:00 AM执行。当时区发生更改(到夏令时,DST)时,cronjob仍在UTC-Time的9:00 AM执行,但在当地时间的11:00 AM执行。但是我希望它始终在10:00执行,无论夏天与否。我怎么做?
10 shell  cron  timezone 

2
系统Crontab或根Crontab
系统crontab: /etc/crontab 根crontab: sudo crontab -u root -e 首选哪种方式?因为它们都在管理权限内运行任务。
10 sudo  cron  root 

2
环境与cron相同的交互式Shell
我知道crontabs的神奇世界有很多陷阱,但是有时候,当您有一些聪明的方法可以进入交互式(bash)shell,并且环境与从shell运行shell脚本时完全相同时,它有时会对很多故障排除有帮助。 crontab。 现在我想到了/bin/openvt -c8 -- /bin/bash --noprofile -l,但是它需要root特权,设置了太多的变量,而简单的su myusername设置了很多额外的环境。 有人知道一种启动具有Cron环境的交互式bash shell的方法,并且不需要Kubuntu的root特权吗? 当它在ssh会话中,在GUI中以及在以下一种或多种操作系统上运行时,也会获得奖励:HP-UX,Solaris和AIX

1
在crontab错误消息中,第19行:12364被杀死是什么意思?
我每天都有一个crontab任务: 50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1 这个daily_task shell脚本将运行一些python脚本并产生一个数据文件。 它失败了两个晚上。但是当我早上来的时候,手动运行python脚本,我得到了数据文件。或者,我设置了一个新的crontab,它仅将日期设置为0 10 * * *,并且此crontab也成功。 所以昨天,我放入> /tmp/zen_log 2>&1了cron任务以获取一些错误消息。 今天早上,我在zen_log中收到了此错误消息: /my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 似乎某些进程已被杀死?但这到底是什么line 19: 12364 Killed意思? PS: 今天,在一分钟前,当我手动运行python脚本时,我得到了: /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 Killed
10 bash  cron 

1
是否可以(7天)安排硬盘驱动器的睡眠时间?
我正在寻找一种安排连接到Linux(Debian 9)的外部硬盘进入休眠状态(停止旋转)的方式。 对此进行介绍:我有一个Linux盒子,可以作为多媒体服务器运行。如果调用以获取外部硬盘驱动器上的内容,则硬盘驱动器唤醒并开始旋转通常需要15-30秒,这会导致a)令人沮丧,b)有时导致多媒体服务器超时。我可以将硬盘驱动器设置为24/7全天候无休止地旋转,但这似乎很浪费,因为在大多数情况下,我在家时仅使用多媒体服务器。 我是否可以使用任何软件工具或命令来设置硬盘驱动器何时旋转的每周计划-例如,周一至周五:在下午5点至晚上11点之间纺纱;周六至周日:在下午3点至晚上11点之间纺纱。系统计时器

6
在启动时进行自动反向SSH连接
我有一台位于NAT后面的PC,该PC与我的Digitalocean VPC建立了反向SSH连接。我在家中利用这种反向的SSH连接登录到我的办公室PC(我被授权这样做)并复制文件并做其他重要的事情。 尽管不是很经常,但我注意到我的办公室PC重新启动(由于电源故障等),并断开了与VPC建立的反向SSH连接。在这种情况下,我无法从家用PC连接到办公室PC。 我运行以下脚本来建立反向连接+动态代理,以匿名化在办公室PC上生成的流量(因为我不需要共享浏览信息)。 autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC 重新启动后,由于我不在物理上,因此无法在办公室PC上再次运行该脚本。为了解决此问题,我安装了以下crontab。 注意:rev.sh文件包含以上行。证书“ digitalOcean”和rev.sh位于Ubuntu home。因此,当我./rev.sh在Ubuntu终端中执行时,我将获得一个动态代理,并且还可以访问ym DigitalOcean服务器。此方法有效100%。 但是,当我通过以下方法安装chrontab时,我的ubuntu PC永远不会创建动态代理。我可以看到这是因为,当我从Google Chrome浏览器检查此代理时,它表示代理正在拒绝连接。 这是我尝试过的cronejobs根cronejobs。我也以普通用户的身份尝试了这些,但仍然无法正常工作。 @reboot bash /home/user/rev.sh @reboot /home/user/rev.sh @reboot cd /home/user && ./rev.sh 然后,我在当前时间之前的几分钟安装了一个chrontab,并等待其执行。 24 12 8 * * * bash /home/user/rev.sh 24 12 8 * * * /home/user/rev.sh 这些也没有执行。 请足够友好地帮助我发现我的错误。关于我的问题,这个网站上有很多类似的问题。因此,我提到了许多答案,但是似乎没有一个有用的答案。

1
Cron作业会关闭1个小时,这与系统时间完全不同
问题示例: * 9 * * * echo 9 * 10 * * * echo 10 上面的代码每分钟都会向用户发送一封电子邮件,但是所有“ 9”响应将在10:00 AM-> 10:59 AM发生,而“ 10”响应将在11:00 AM-> 11:59 AM出现。 做某事 * * * * * /bin/date ; /bin/date -u 返回预期的(正确的)日期和时间。UTC和当地时间(美国/丹佛)都是如此。将此作业更改为在特定时间每分钟运行一次,将导致偏移(告诉作业以9运行,10运行,依此类推)。 我当前完成的调试: 好吧,那很奇怪。也许我的时区文件被弄乱了?让我们检查一下 diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone` Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical 我已经检查了硬件时钟,以查看它是否关闭或以某种方式与我的本地设置(以root用户身份运行)不同。 date …
9 cron 

1
用户x无法使用该程序(crontab)
Ubuntu 14.04 我不了解为服务(无登录)帐户(名为curator)设置crontab时看到的行为。 当我以root用户身份登录时,这是我得到的: # crontab -u curator -l The user curator cannot use this program (crontab) 但是,当我切换到该用户的帐户时,它可以正常工作: # su -s /bin/bash curator curator@host$ crontab -l no crontab for curator 有一个空/etc/cron.allow文件,并没有/etc/cron.deny在系统上的文件。根据man crontab: 如果存在/etc/cron.allow文件,则必须在其中列出您(每行一个用户),以便允许使用此命令。如果/etc/cron.allow文件不存在,但/etc/cron.deny文件确实存在,则必须在/etc/cron.deny文件中未列出您才能使用此命令。 当我运行第一个命令时,我理解该错误,但是crontab当我明确切换到用户帐户时,为什么它允许我运行? 将用户添加到/etc/cron.allow使两个命令都能正常工作。
9 ubuntu  cron 

1
查找计划在将来的某个日期/时间运行的cron作业X
有没有一种方法可以“查询” crontab来查找哪些cron作业在某个任意日期/时间或某个时间范围内运行? 例如,确定哪个将在今天的14:00和16:00之间的某个时间运行,将在下个星期六的10:00或每个星期日运行? 计划了很多工作,因此手动阅读所有crontab并不是一个真正的选择。
9 cron 

1
先运行然后终止
我想添加一个cron条目,其功能类似于: 00 00 * * * * /tmp/script.sh 我可以在行尾添加一些内容,以便在完成后将其从我的cron中删除吗? 另外,如果有更好的方法可以做到,那么我肯定会想要这些信息。

2
at和cron作业的输出到哪里去?
鉴于没有要显示的屏幕,标准输出at和cron任务去了哪里? 它没有出现在启动作业的目录中,也没有出现在我的主目录中。 鉴于我不知道如何调试或跟踪后台作业,我该如何实际解决呢?
9 cron  output  at 

2
编辑crontab时在终端中打开emacs
我已将设置emacs为我的默认编辑器/etc/profile。当我想emacs在终端中使用时。我用-nw选项打开它。crontab -e阻止它在窗口中打开时,我怎么有相同的行为?
9 bash  cron  emacs 

3
我的crontab日志文件在哪里?
在我的debian7上没有/ var / log / cron,没有/var/log/cron.log,我的crontab日志文件在哪里? ls /var/log/cron* ls: cannot access /var/log/cron*: No such file or directory
9 cron 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.