我正在寻找一种更好的方式来记录 cronjobs。大多数 cronjobs 倾向于向垃圾邮件或控制台发送垃圾邮件,被忽略或创建另一个日志文件。
在这种情况下,我有一个 Nagios NSCA 脚本,它将数据发送到中央 Nagios 服务器。这个 send_nsca 脚本还会向 STDOUT 打印一个状态行,指示成功或失败。
0 * * * * root /usr/local/nagios/sbin/nsca_check_disk
Run Code Online (Sandbox Code Playgroud)
这会将以下消息通过电子邮件发送到 root@localhost,然后转发给我的系统管理员团队。垃圾邮件。
转发 nsca_check_disk:1 个数据包成功发送到主机。
我正在寻找一种日志记录方法:
我在 php cron 作业中遇到内存错误:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) in /opt/matrix/core/lib/DAL/DAL.inc on line 830
crontab适用的部分有:
$ sudo crontab -u www-data -l
MAILTO=root
# m h dom mon dow command
*/15 * * * * php /opt/matrix/core/cron/run.php /opt/matrix
Run Code Online (Sandbox Code Playgroud)
我在 Debian Squeeze 上运行,完全更新。
显而易见的解决方案是 cli 的内存限制较低(64MB)。但是,/etc/php5/cli/php.ini 说它是无限的。
$ cat /etc/php5/cli/php.ini | grep memory_limit
memory_limit = -1
Run Code Online (Sandbox Code Playgroud)
我在某处读到它对于不同的用户可能会有所不同,并且由于该进程以 www-data 的形式运行,因此我运行了:
$ sudo -u www-data -s
$ php -i | grep memory_limit
memory_limit => -1 …Run Code Online (Sandbox Code Playgroud) 我通过将可执行文件放在/etc/cron.{daily,hourly,monthly,weekly}. 有很多以cron开头的目录:
kent@rat:~$ ls -ld /etc/cron*
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.d
drwxr-xr-x 2 root root 4096 2009-07-16 13:17 /etc/cron.daily
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.hourly
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.monthly
-rw-r--r-- 1 root root 724 2009-05-16 23:49 /etc/crontab
drwxr-xr-x 2 root root 4096 2009-06-06 18:52 /etc/cron.weekly
Run Code Online (Sandbox Code Playgroud)
我想在以下情况下从我的脚本中收到电子邮件:
我安装了SSMTP并且可以正常工作,我从我的 Google 帐户发送邮件。SSMTP 只能使用一个帐户发送邮件这一事实对我来说不是问题。它只是一个家庭服务器,我拥有的用户无法添加 cron-jobs。
我想知道脚本的邮件通常如何在 Linux/Unix 中工作,特别是在 Ubuntu 中。我也想知道在上述两种情况下有什么好方法可以让我收到邮件。
我更喜欢将计划任务放在 /etc/crontab 中,这样无论任务以哪个用户身份运行,我都可以一目了然地看到计划运行的内容。
唯一的问题是,与 crontab -e 不同,格式在保存时未得到验证——因此一个流浪字符可以悄悄地破坏整个 cron。
有没有办法在保存之前/之后验证 /etc/crontab 格式?
我有 2 个 cron 作业,我希望其中一个每奇数分钟运行一次(1,3,5,7,9,11....57,59),我希望另一个每偶数分钟运行一次(0, 2,4,6,8,10,12...58)
我怎样才能以简单的方式做到这一点?(没有脚本 - 只是 cron 作业规则)
当您在 Apache 中更改某些内容时,您需要重新加载或重新启动 apache。添加/更新 crontab 后,是否需要在 Ubuntu Server 8.04 中刷新或重新启动任何内容?非常感谢您的帮助。
我正在设置必须以 root 身份运行的常规系统维护任务。我计划默认使用 Ubuntu 14.04 LTS 附带的 cron 风格。
我看到前任管理员(离开公司后)直接编辑了 /etc/crontab。但是我知道另一种可能的方法是crontab -e作为 root使用。是否有任何令人信服的论据来使用其中之一,还是取决于偏好?
我去了,/var/log/cron但这个文件是空的。
如何在 ubuntu 中检查 crontab 是否已启用或是否正常运行
谢谢
我最终通过一个 shell 脚本为我的数据设置了一个现实的备份计划,由 cron 以紧密的时间间隔处理。不幸的是,每次执行 CRON 时,我都会收到空电子邮件,而不仅仅是在出现问题时。
是否可以仅在出现问题时让 CRON 发送电子邮件,即。我TAR没有按预期执行?
这是目前我的 crontab 的设置方式;
0 */2 * * * /bin/backup.sh 2>&1 | mail -s "Backup status" email@example.com
Run Code Online (Sandbox Code Playgroud)
非常感谢!