Questions tagged «cron»

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

1
crontab中的斜杠是什么意思?
我已经在系统中看到了crontab记录。 0-55/5 * * * * root <command> 我阅读了crontab -e示例文件,我知道第一位置代表分钟。但是我无法弄清楚/那里(斜线)的含义。谁能向我解释这个意思?
31 cron 

10
如果Python脚本被杀死或死亡,如何自动重启
我像这样在我的Ubuntu机器(12.04)中在后台运行Python脚本- nohup python testing.py > test.out & 现在,在某些情况下,我的上面Python script可能由于某种原因而死亡。 因此,我正在考虑使用某种cron agentin bash shell脚本,如果由于某种原因被杀死,它可以自动重新启动上述Python脚本。 这可能吗?如果是,那么解决此类问题的最佳方法是什么? 更新: testing.conf像这样创建文件后- chdir /tekooz exec python testing.py respawn 我在sudo命令下运行以启动它,但是我看不到使用ps ax在后面运行该进程? root@bx13:/bezook# sudo start testing testing start/running, process 27794 root@bx13:/bezook# ps ax | grep testing.py 27806 pts/3 S+ 0:00 grep --color=auto testing.py 知道为什么px ax没有显示任何内容吗?以及如何检查我的程序是否正在运行? 这是我的python脚本- #!/usr/bin/python while …
31 bash  shell  cron  python 

1
为什么cron在我的脚本中默默地无法运行sudo东西?
我有一个从非特权用户的crontab运行的脚本,该脚本使用调用了一些命令sudo。除非不是。脚本运行正常,但sudo'ed命令无提示地失败。 该脚本可以作为相关用户从shell完美运行。 Sudo不需要密码。有问题的用户已在中(root) NOPASSWD: ALL授予访问权限/etc/sudoers。 Cron正在运行并执行脚本。添加简单的代码date > /tmp/log会在适当的时间产生输出。 这不是权限问题。同样,脚本确实得到执行,但不是sudo'ed命令。 这不是路径问题。运行env从脚本内被运行显示正确的$PATH变量,包括路径须藤。使用完整路径运行它没有帮助。正在执行的命令被赋予完整路径名。 尝试捕获包括STDERR的sudo命令的输出不会显示任何有用的信息。添加sudo echo test 2>&1 > /tmp/log到脚本会生成空白日志。 sudo二进制文件本身可以很好地执行并识别它具有权限,即使从脚本内的cron运行时也是如此。添加sudo -l > /tmp/log到脚本将产生输出: 用户ec2-user可以在此主机上运行以下命令: (root)NOPASSWD:ALL 使用show检查命令的退出代码$?正在返回错误(退出代码:)1,但似乎没有错误产生。简单的命令/usr/bin/sudo /bin/echo test将返回相同的错误代码。 还有什么可能发生? 这是最近创建的运行最新Amazon Linux AMI的虚拟机。crontab属于用户ec2-user,而sudoers文件是默认的发行版。
29 sudo  cron 

8
为什么我的crontab没有触发?
我曾经crontab -e在crontab中添加以下行: * * * * * echo hi >> /home/myusername/test 但是,我看不到测试文件已写入。这是权限问题,还是crontab无法正常工作? 我看到cron进程正在运行。我该如何调试? 编辑 -询问Ubuntu 对于crontab有一个很好的问题,不幸的是,这仍然没有帮助。 编辑2-嗯,看来我的测试文件有214行,这意味着在最后214分钟内,它已写入每分钟。我不确定是什么问题,但是显然已经解决了。
29 cron 

2
在每次添加或修改新时间表后,是否都需要重新启动cron或crond?
当我安排工作时,似乎有些立即应用,而另一些重启后。因此,建议添加新的cron作业后重新启动cron(crond)吗?如何正确地做到这一点(特别是在Debian系统中),即使是普通用户也应该这样做sudo(例如sudo service cron restart)? 我试过了: /etc/init.d/cron restart 似乎不起作用(/etc/init.d/cron stop或都无效service cron stop),并以返回码1结束。 这是消息输出的一部分: 由于您尝试调用的脚本已转换为Upstart作业,因此您也可以使用stop(8)实用程序,例如stop cron stop:拒绝发送消息,1条匹配的规则;type =“ method_call”,sender =“:1.91”(uid = 1000 pid = 3647 comm =“ stop cron”)interface =“ com.ubuntu.Upstart0_6.Job” member =“ Stop” error name =“(unset)” request_reply =“ 0” destination =“ com.ubuntu.Upstart”(uid = 0 pid = 1 comm =“ / sbin …
29 cron 



3
是否按顺序依次处理多个@daily crontab条目?
我希望每天有一段时间按照我指定的顺序连续运行两个作业。这个crontab会可靠地执行我想要的吗? @daily job1 @daily job2 我假设他们运行一个接一个,但我无法通过搜索网页或从这些联机帮助页中找到了答案:cron(1),crontab(1),crontab(5)。 如果cron @daily并行或以不可预测的顺序运行计划的事情,则上面的crontab显然不会满足我的要求。 我知道我可以简单地编写一个shell脚本来按顺序将它们解雇,我只是很好奇cron应该如何工作(而且我懒得收集测试数据或阅读源代码)。 Cron由cron包装提供。操作系统是Ubuntu 10.04 LTS(服务器)。
22 linux  ubuntu  cron 

5
如何为Shell脚本创建服务,以便可以像守护程序一样启动和停止它?
我使用CentOS 7的目的是每五秒钟创建一个cron,但正如我研究的那样,我们只能使用一分钟的cron,所以我现在要做的是创建一个shell文件。 hit.sh while sleep 5; do curl http://localhost/test.php; done 但是我已经通过右键单击来手动点击它。 我想要的是为该文件创建服务,以便我可以自动启动和停止它。 我找到了创建服务的脚本 #!/bin/bash # chkconfig: 2345 20 80 # description: Description comes here.... # Source function library. . /etc/init.d/functions start() { # code to start app comes here # example: daemon program_name & } stop() { # code to …



4
路径独立shebangs
我有一个脚本,希望能够在两台计算机上运行。这两台机器从相同的git存储库中获取脚本的副本。该脚本需要使用正确的解释器(例如zsh)运行。 不幸的是,这两个 env和zsh住在本地和远程计算机不同的位置: 遥控机器 $ which env /bin/env $ which zsh /some/long/path/to/the/right/zsh 本地机器 $ which env /usr/bin/env $which zsh /usr/local/bin/zsh 如何设置shebang,以便像/path/to/script.sh往常一样运行脚本中的Zsh可用脚本PATH?
20 shell  zsh  cron  path 

2
cron一词的由来?
试图解决一个友好的论点。“ cron”是某事的缩写吗? 另外,它的当前规范名称“ cron”是否源自诸如chronos或chronologic之类的缩写? 快速的Google搜索没有找到我想要的东西。最终成为一个尚未解决的论坛话题

3
RHEL / CentOS是执行/etc/cron.d/*下的所有cronjob文件,还是仅执行其中一部分?
这是一个Red Hat Enterprise Linux 5系统(RHEL)。我们使用CFengine管理该系统。 我们有几个cronjobs,它们的运行频率是平时的两倍。我检查了cronjobs下的/etc/cron.d/目录,该目录包含名为的实际脚本host-backup,还包含名为的cfengine备份文件host-backup.cfsaved,如下所示: /etc/cron.d/host-backup /etc/cron.d/host-backup.cfsaved 此操作系统是在处执行所有文件/etc/cron.d/*,还是仅执行与特定模式匹配的文件。我可以配置它,在哪里定义? 我在RHEL或CentOS文档中找不到此答案。
19 rhel  cron 

2
禁止输出,除非退出代码为非零
除非程序以非零代码退出,否则抑制输出(stdout和stderr)的最佳方法是什么?我在想: quiet_success() { file=$(mktemp) if ! "$@" > "$file" 2>&1; then cat "$file" fi rm -f "$file" } 并运行,quiet_success my_long_noisy_script.sh但我不确定是否有更好的方法。我觉得这必须是其他人需要做的事情。 就上下文而言,我希望将其添加到我的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.