cron 作业调度器真的精确吗?
我的意思是,我需要一个脚本来尽可能晚地每晚运行,但要在第二天 00:00 之前运行。
理想情况下,我会在 23.59(或晚上 11:59)运行 cron 作业,但系统真的会精确吗?既然一秒钟很重要,我应该将 cron 作业设置为 23:58 以让它离开一段时间吗?
crontab 中的命令是否有字符限制?
我有一个带有 178 个字符命令的 crontab,它在执行时似乎在 164 处被截断。我可以从我收到的电子邮件和从那时起改变的 vi 颜色中分辨出这个数字。
那么,这是“官方”限制吗?我找不到任何关于此的文档。
如果我将 cron 文件 scp 到 /etc/cron.d 中,它不会运行,除非我编辑该文件并更改命令。然后 crond 似乎拿起了 cron 文件。
如何让 cron 在 ubuntu 10.04 中重新加载其 cron 文件?“触摸”文件不起作用,“重新启动 cron”或“重新加载 cron”也不起作用。
我的 cron 文件设置为每分钟运行一次并记录到一个文件中。在我编辑命令之前,日志文件中没有任何内容,并且 /var/log/syslog 中没有条目
我难住了。
这是我保存到 /etc/cron.d/runscript 的 cron 文件(注意它以新行结尾)
# Runs the script every minute. This is safe because it will exit with success if it's already running
* * * * * www-data if [ -f /usr/local/bin/thing ]; then exec /usr/bin/php /usr/local/bin/thing mode:prod -a 14 -d >> /var/log/thing/mything.log 2>&1; else echo `date +'[\%D \%T]'` "Thing not …Run Code Online (Sandbox Code Playgroud) 我们有一个工作角色帐户,它有一个非常大的 crontab。它的 MAILTO 指向一个共享地址,因此如果出现问题,我们中的许多人都会收到通知。
我想在这个 crontab 中添加一个条目,但我只想在出现问题时收到通知。有没有办法为这个条目更改 MAILTO,或者以其他方式实现我的目标?
我有一个定时任务:
0 9 * * * rsync -a mydir remote_machine:
Run Code Online (Sandbox Code Playgroud)
我用'crontab -e'安装了它。我有一个 ssh-agent 正在运行,当我执行 rsync 命令本身时,它可以在没有任何用户交互或密码输入的情况下工作,但 cronjob 失败并显示以下消息:
Date: Wed, 9 Dec 2009 11:11:00 -0600 (CST)
From: Cron Daemon <me@my_machine.my_domain>
To: me@my_machine.my_domain
Subject: Cron <me@my_machine> rsync -a /home/me/mydir remote_machine:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-with-mic,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-35.2/rsync/io.c(452)
[sender=2.6.9]
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?我知道 cronjobs 以用户身份与我一起运行(如果我运行 '* * * * * touch …
我有一些命令.profile,我想从我的crontab.
例如,如果我有,
alias notify-me="~/bin/notify.pl -u user1"
alias notify-team="~/bin/notify.pl -u user1 user2 user3 user4 ...."
Run Code Online (Sandbox Code Playgroud)
我只想调用别名
0 11 * * * notify-team
Run Code Online (Sandbox Code Playgroud)
因此,如果 my 中的列表.profile已更新,我也不必更新crontab. 但是,我似乎无法在我的crontab. 有解决办法吗?
我尝试了这里的建议来设置环境(例如 /bin/bash -lc 和脚本包装器脚本)。似乎这适用于脚本但不适用于别名。
有任何想法吗?
将我的 OSX 更新到 Mojave 后,我似乎无法再编辑我的 crontab。任何这样做的尝试都会导致此问题标题上的错误消息。
我跟踪了 crontab/private/var/at并且权限与另一台运行 El Capitan 的计算机相同:
/private/var/at$ ls -laO
total 0
drwxr-xr-x 8 daemon wheel - 256B Feb 18 16:47 ./
drwxr-xr-x 26 root wheel sunlnk 832B Feb 18 16:51 ../
-rw-r--r-- 1 root wheel - 0B Aug 22 22:11 at.deny
-rw-r--r-- 1 root wheel compressed 6B Aug 17 2018 cron.deny
drwxr-xr-x 2 daemon wheel - 64B Aug 17 2018 jobs/
drwxr-xr-x 2 daemon wheel - 64B Aug 22 22:11 spool/
drwx------ 4 …Run Code Online (Sandbox Code Playgroud) 我的桌面上有一个 python 脚本: /home/ceasor/Desktop/script.py
在/etc/crontab,我写道:
0 */2 * * * ceasor sudo python /home/ceasor/Desktop/script.py
Run Code Online (Sandbox Code Playgroud)
python 脚本没有运行。我如何每 10 分钟运行一次 cron?
我是一名孤独的 Web 开发人员,拥有自己的 Centos VPS,为我的客户托管了一些小型网站。今天我发现我的 httpd 服务已经停止(没有明显的原因 - 但这是另一个线程)。我重新启动了它,但现在我需要找到一种方法,如果它再次发生,我可以通过电子邮件和/或短信通知我 - 当我的客户打电话给我告诉我他们的网站不起作用时,我不喜欢它!
我知道可能有很多不同的可能性,包括服务器监控软件。我认为我真正需要的是一个脚本,我可以从我的开发主机(它永久在我的办公室中运行)作为 cron 作业运行该脚本,该脚本尝试从我的生产服务器加载一个页面,如果它没有在 30 内加载秒然后它给我发送电子邮件或短信。我在shell脚本方面很垃圾,因此这个问题。
任何建议将不胜感激。
我想在 EST 中安排我的任务,但我希望实际任务在默认系统时区下运行。
这样做的最佳方法是什么?