我有几个 cron 作业有时会产生错误输出,并且希望在我的“真实”电子邮件帐户中收到通知,因为我不在我的 Ubuntu 笔记本电脑中使用我的用户邮箱,而是使用 cron(或者它可能是后缀)不断尝试通过电子邮件发送本地 root 帐户。
我知道我可以将MAILTO变量添加到 crontab:
ricardo@ricardo-laptop:~$ sudo crontab -l
MAILTO=redacted@gmail.com
# m h dom mon dow command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh
Run Code Online (Sandbox Code Playgroud)
但它似乎并没有关注它
我还尝试将我的电子邮件添加到/etc/aliases文件中并运行newaliases
ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster: root
root: redacted@gmail.com
ricardo: redacted@gmail.com
Run Code Online (Sandbox Code Playgroud)
尽管如此,每当 cron 想要发送电子邮件时,它仍然会将其发送到root@my.domain.com:
ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug 3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug 3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug 3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: …Run Code Online (Sandbox Code Playgroud) I want to edit crontab. It is supposed to be Vi, but it's not, as you can see:
root@euve252628:~# crontab -e
0
0 * * * * /var/www/vhosts/nevemind-what-webs/httpdocs/megacronstunde.php
?
:wq
?
Run Code Online (Sandbox Code Playgroud)
Yes, it gave me a ?. And why does it give me a zero?
When I type a q and press Enter - it quits. I need to know how to save, because it's not classic Vi.
如果我将一个 shell 脚本放在 中/etc/cron.daily/,它将在一天中的什么时间执行?
当我执行cron我得到这个错误
cron:无法打开或创建/var/run/crond.pid:权限被拒绝
那么,如何做到没有cron呢?
PS 我想检查 svn 中的文件是否已更改,并且我有一个特殊的脚本。
我的 LAMP 设置为正常工作,user:www-data并且所有文件和文件夹都是使用该权限创建的。
我已将 crontab 设置为 user@ubuntu。
所以我这样做crontab -e并使用这个命令:
*/5 * * * * php /var/www/public/voto_m/artisan top >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
基本上,该命令只是在指定的位置创建缓存文件(没有问题),但该缓存文件是使用 user:user 权限而不是user:www-data权限创建的。
我怎样才能让它默认创建具有user:www-data权限的文件?
我不能去,chown每次重新创建文件。
谢谢。
我想在 crontab 中运行我的脚本,但我有一些问题...
在我的脚本中,我运行以下命令:
db2 connect to myDB2
Run Code Online (Sandbox Code Playgroud)
当我以db2inst1用户身份运行它时,这工作正常,但是当我在db2inst1 crontab 中运行此脚本时,我得到了这个:
db2:找不到命令。
我该如何解决这个问题?
我正在寻找一个简单而通用的解决方案,它允许您在 crontab 中执行任何脚本或应用程序并防止它运行两次。
解决方案应该独立于执行的命令。
我认为lock && (command ; unlock)如果有另一个锁,它应该看起来像lock 将返回 false 的地方。
第二部分就像它获得了锁,运行命令和在命令执行后解锁,即使它返回错误。
我想在完成重新启动后在我们的 linux 上运行一个命令,我看到它可以使用 crontab 来完成。我想运行这个命令
sudo ifdown eth0 && sudo ifup -v eth0
Run Code Online (Sandbox Code Playgroud)
在 crontab 上,我可以这样做:
@reboot sudo ifdown eth0 && sudo ifup -v eth0
Run Code Online (Sandbox Code Playgroud)
还是我需要将其存储在脚本中?
谢谢你
我创建了一个名为文件ntpdate中/etc/cron.hourly
#!/bin/sh
/usr/sbin/ntpdate-debian
date > /tmp/william_tmp
date > /william_tmp
date > ~/william_tmp
echo test
Run Code Online (Sandbox Code Playgroud)
我也对这个文件做了 Chmod 755。
但是,我不知道该文件是否已运行!
该文件未在 3 个目录中的任何一个中创建。
如果我手动运行cd / && run-parts --report /etc/cron.hourly,则会创建文件并得到回声。
任何人都可以推荐(最好是一步一步!)说明来测试它是否正常工作?
我正在尝试实现一种配置机制,允许在某个项目中通过 svn 部署一个 cron 配置。
我立即想到我应该做的是将 /etc/cron.d/ 中的符号链接创建到我项目的 cron 文件(该文件又由 vcs 控制),但这似乎不起作用。
我发现一些旧的论坛消息提到不支持符号链接,而其他人则表示支持。是哪个?
有没有其他方法或任何其他好方法来实现这一目标?