我通过输入crontab -e在ubuntu环境中为root用户设置了cronjob
34 11 * * * sh /srv/www/live/CronJobs/daily.sh
0 08 * * 2 sh /srv/www/live/CronJobs/weekly.sh
0 08 1 * * sh /srv/www/live/CronJobs/monthly.sh
Run Code Online (Sandbox Code Playgroud)
但是cronjon不会跑.我已经尝试检查cronjob是否正在运行
pgrep cron
并提供进程ID 3033. shell脚本调用python文件,用于发送电子邮件.运行python文件是可以的.它没有错误,但是cron没有运行.daily.sh文件中包含以下代码.
python /srv/www/live/CronJobs/daily.py
python /srv/www/live/CronJobs/notification_email.py
python /srv/www/live/CronJobs/log_kpi.py
Run Code Online (Sandbox Code Playgroud) Herer是我的CRONTAB文件(Ubuntu 10.10):
57 1 * * 2-6 ET=`date --date 'yesterday'+%Y%m%d`;echo $ET
Run Code Online (Sandbox Code Playgroud)
甚至语法颜色表明出现了问题.并且有这个错误:
Subject: Cron <root> ET=`date --date 'yesterday' + (failed)
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
/bin/sh: Syntax error: EOF in backquote substitution
Run Code Online (Sandbox Code Playgroud)
但我不确定这是错的.非常感谢!
我想在00:00和13:30每天执行两次脚本,所以我写道:
0,30 0,13 * * *
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎不对,因为这样,剧本将在00:00,00:30,13:00和13:30开火.任何的想法 ?
我试图让每15分钟运行一个简单的crontab作业,并且无法确定如何格式化时序.
我一直在说的是以下内容:
15 * * * * ------------------------
Run Code Online (Sandbox Code Playgroud)
我很确定这只是运行每小时的前15分钟.
我认为crontab允许用户指定运行的确切时间,即:
0, 15,30,45 * * * * -------------------------
Run Code Online (Sandbox Code Playgroud)
但是如果我想从开始它的那一刻开始每15分钟运行一次crontab,(可能不一定是可以被15整除的值),我将如何进行格式化/那是可能的?
我在crontab中有这一行:
* * * * * /var/www/dir/sh/mysql_dumb.sh | mail -s "mysql_dump" example@mail.com
Run Code Online (Sandbox Code Playgroud)
(每分钟只有一个样本)
所以,一切正常,但电子邮件是空的.
更新:
mysql_dumb.sh的输出是一个*.sql文件,它们将文件保存在目录中.
如何从此输出发送副本(*.sql文件) - > mysql_dumb.sh到我的电子邮件?
mysql_dumb.sh:
#!/bin/bash
PATH=/usr/bin:/bin
SHELL=/bin/bash
/usr/bin/mysqldump -u USER -pPASS DATABASE > /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
Run Code Online (Sandbox Code Playgroud) 我试图在docker容器中运行一个cron作业
但没有什么对我有用
我的容器只有cron.daily和cron.weekly文件
crontab,cron.d,cron.hourly ......在我的容器中不存在
crontab -e也无法正常工作
我的容器用/ bin/bash运行
这是否正确安排在每15分钟07:00至19:00之间运行?
*/15 07-19 * * * /path/script
Run Code Online (Sandbox Code Playgroud) 我需要一个cron语句运行几个小时,例如1-8然后10-15.在这种情况下,以下声明将起作用,
0 1-8,10-15 * * *
Run Code Online (Sandbox Code Playgroud)
如果没有,有人可以帮助我吗?
提前谢谢,Gnik
我有一个bash脚本,它对远程机器执行ssh并在那里执行命令,如:
ssh -nxv user@remotehost echo "hello world"
Run Code Online (Sandbox Code Playgroud)
当我从命令行执行命令时它工作正常,但是当作为crontab的一部分执行时它失败(errorcode = 255 - 无法建立SSH连接).细节:
...
Waiting for server public key.
Received server public key and host key.
Host 'remotehost' is known and matches the XXX host key.
...
Remote: Your host key cannot be verified: unknown or invalid host key.
Server refused our host key.
Trying XXX authentication with key '...'
Server refused our key.
...
Run Code Online (Sandbox Code Playgroud)
在本地执行时,我充当root用户,crontab也以root身份运行.从crontab和命令行执行'id'会得到完全相同的结果:
$ id
> uid=0(root) gid=0(root) groups=0(root),...
Run Code Online (Sandbox Code Playgroud)
我从一些本地机器ssh到运行crond的机器.我有ssh密钥和凭据ssh到crond机器和脚本连接到的任何其他机器.
PS.请不要问/抱怨/评论以root身份执行任何错误/错误/等等 - 这不是这个问题的目的.
我使用网站订购食物,我希望这个网站在上午11点在浏览器中自动打开.
我使用"crontab -e"打开了crontab并尝试了这个:
59 10 1-31 1-12 SUN,MON,TUE,THU google-chrome --new-window http://food.com
Run Code Online (Sandbox Code Playgroud)
并试过这个:
59 10 1-31 1-12 SUN,MON,TUE,THU x-www-browser http://food.com
Run Code Online (Sandbox Code Playgroud)
但他们给我发了一封电子邮件,而不是打开网站:
(x-www-browser:16597): Gtk-WARNING **: cannot open display:
(google-chrome:16883): Gtk-WARNING **: cannot open display:
Run Code Online (Sandbox Code Playgroud)
谢谢!
更新:解决方案是将"export DISPLAY =:0 &&"添加到crontab.即:
53 10 * 1-12 SUN,MON,TUE,THU export DISPLAY=:0 && google-chrome --new-window http://www.foodsite.com
Run Code Online (Sandbox Code Playgroud)