Articles of cron

使用msmtp设置cron邮件的“From”标题

我已经在Ubuntu 10.10上安装了msmtp,以便cron可以向我发送电子邮件。 这就像一个冠军,大部分。 然而,来自我的gmail帐户的电子邮件显示为来自(未知发件人) ,并且标题显示: From: root (Cron Daemon) 如何将From标题设置为有效的电子邮件地址? 我刚刚得到了msmtp symlinked为/ usr / sbin / sendmail 我find的一个可能的解决scheme是: http : //tech.bluesmoon.info/2010/01/pretty-print-cron-emails.html 不过,我很好奇,如果有一个更简单的方法。

Ubuntu的系统crontab的作品,但根crontab不

我在这里有一个关于ubuntu crontab的奇怪问题。 如果我将以下行添加到系统crontab(/ etc / crontab)中,它可以正常工作 */1 * * * * root /bin/date >> /root/text 但是如果我用root用户使用crontab -e编辑root crontab,然后添加 */1 * * * * /bin/date >> /root/text 它根本不工作。 你能帮我吗? 谢谢 更新和回答 search服务器故障后,我得到了答案,原因在这篇文章中解释。 原因是crontab文件最后需要换行符 ,否则不行。

为远程备份脚本设置日志logging

所以我写了一个简短的脚本,我打算每天通过cron工作来打包我的站点文件并将它们发送到远程位置。 我也打算把数据库转储,但我还没有得到那么多。 然而,我今天的问题是,我不确定如何logging每个命令的输出,以查看命令可能输出的错误,警告或其他相关信息。 我也想安装一些失败的安全types,所以如果有什么可怕的错误脚本将停止死亡的轨道,并通过电子邮件或通知我。 好吧,电子邮件的事情并不重要,但会很好。 有人有任何想法吗? 这是我迄今为止。 顺便说一下,这两台服务器都是运行标准LAMP的CentOS 6.2。 #!/bin/sh ################################# ### Set Vars ################################# THEDATE=`date +%m%d%y%H%M` ################################# ### Create Archives ################################# tar -cf /root/backups/files/server_BAK_${THEDATE}.tar -C / var/www/vhosts gzip /root/backups/files/server_BAK_${THEDATE}.tar ################################# ### Send Data to Remote Server ################################# scp /root/backups/files/server_BAK_${THEDATE}.tar.gz user@host:/home/bak1/ftp/backups/ ################################# ### Remove Data from this Server ################################# rm -rf /root/backups/files/server_BAK_${THEDATE}.tar.gz

如果tomcat7服务没有响应,重新启动

我在Tomcat服务器上运行一个Web应用程序。 服务器代码中有一个很难察觉的问题,导致它每天崩溃一次或两次。 有空的时候,我会尽力纠正。 但直到那一天,在一个有问题的情况下,重新启动tomcat(/etc/init.d/tomcat7 restart)或基本上重新启动机器也是现在看来相当不错的解决scheme。 我想用wget而不是grep或其他东西来检测服务器的活力,因为即使tomcat正在运行我的服务, wget localhost:8080/MyService/ 输出 –2012-12-04 14:10:20– http://localhost:8080/MyService/ Resolving localhost… 127.0.0.1 Connecting to localhost|127.0.0.1|:8080… connected. HTTP request sent, awaiting response… 200 OK Length: 2777 (2.7K) [text/html] Saving to: “index.html.3” 100%[======================================>] 2,777 –.-K/s in 0s 2012-12-04 14:10:20 (223 MB/s) – “index.html.3” saved [2777/2777] 当我的服务到了。 和输出 Resolving localhost… 127.0.0.1 Connecting to localhost|127.0.0.1|:8080… failed: […]

cron守护进程多次分叉多个进程并运行作业

我在Ubuntu上运行了大量的cron作业(使用sudo crontab -e ),最近(尽pipe我不知道何时可以确定),我突然看到相同的作业似乎在多次运行同一分钟。 你不需要看完整的crontab就可以相信我,他们绝对不会被列出两次。 但是,这里有一个片段: */2 * * * * /usr/bin/wget –no-check-certificate 'https://myserver.net/someuri/pdm/33?embed_in_page=xyz' * * * * * /usr/bin/wget –no-check-certificate 'https://myserver.net/someuri/pdm/77' * * * * * /usr/bin/wget –no-check-certificate 'https://myserver.net/someuri/pdm/20?blah=blah' * * * * * echo "`date` Running now" >> /home/somewhere/croncheck 我还添加了这个简单的回声,以便每分钟运行一次,而且永远不会运行多次。 所以,对于回声,我只能每分钟看一次。 但间歇地,尤其是在负载下,服务器似乎连续多次激发wget URL请求(我知道通过查看web服务器日志,他们大致同时来自同一地点)。 如果我运行ps -A |grep cron 我会看到十几个或更多的条目,看起来像: 28055 ? 00:00:00 cron 他们似乎并没有消失。 […]

Wheezy进程周期性地死亡

我有一个很奇怪的问题。 我的邮件服务器上的某些进程(但不是全部)会定期(每隔一个月左右)死掉。 死亡的一些过程是: SSH 达夫科特 后缀 不死的进程是: 的Apache2 我的系统正在运行(Debian Wheezy): $ uname -a Linux hostname 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux 我已经经历了/var/log文件,但是事情似乎都是在事件发生之后才发生的,事件总是发生在早晨6:25。 首先,我认为它与ntpdate每日cron做的事情,所以我删除它,并用ntpd取代它,而不需要cron。 有帮助吗? 没有。 然后我认为它有syslogd做的事情。 看来,死亡的进程都在使用syslog进行日志logging。 我search了一下,但是我没有发现其他人遇到与我一样的问题。 当您的日志logging机制不起作用时,真的很难find问题所在! 这里是所有在事件发生时间(6:25)被修改的日志文件。 在那之后没有日志,所有的日志活动都停止了! 请看看是否有可能导致进程死亡或logging停止的事情。 在/ var / log / syslog的 Feb 16 06:25:01 hostname /USR/SBIN/CRON[32606]: (root) CMD (/usr/local/ispconfig/server/server.sh 2>&1 > /dev/null | while read line; do […]

是否有可能确定工作是否正在开始(通过atd / cron启动)?

有没有一种方法来确定一个脚本是作为一个工作而不是从用户的shell交互式运行? 我们的一些脚本有一个警卫,通过检查$ TERM来检查它们是否在屏幕上运行。 我试图弄清楚我是否可以智能地检查脚本的执行是如何启动的,这样我就可以更新这个守护语句,或者如果我应该添加一个从at作业运行时总是应该包含的选项。

Ran chkconfig,但是crond没有在Amazon Linux上重新启动

我试图让cron守护程序在Amazon Linux(Linux版本3.14.57-34.46.amzn1.x86_64)的一个实例上重新启动时启动。 我跑了: $ sudo chkconfig crond on 如果我运行: $ chkconfig –list crond 我得到: crond 0:off 1:off 2:on 3:on 4:on 5:on 6:on 系统的默认运行级别是3。 手动启动/停止crond工作正常,并执行我的crontab中的命令。 $ sudo service crond <start|stop|restart> 重启之后, /var/log/cron中没有警告或错误日志(手动启动/var/log/cron有非错误日志)或/var/log/messages 。 我错过了什么吗? 我怎样才能debugging呢?

在后台打开屏幕,并启动一个过程

我想要做到以下几点:重启后,我想开始一个屏幕,然后应该执行一个脚本。 所以我search了crontab和screen,我也find了一些答案。 但是,没有什么适合我的。 我正在运行一个安装了屏幕的Ubuntu Linux,我想运行一个Python脚本。 下面的工程screen -d -m打开一个屏幕但不运行任何东西。 相反,我想创build一个屏幕并启动一个脚本。 从网上find的答案告诉我这是通过screen -d -m scriptname来完成的。 在我的情况下,scriptname是main.py(我检查它是可执行的)。 但是, screen -m -d /path/to/main.py不会创build屏幕。 这是我的控制台输出 $ screen -d -m /opt/main.py $ screen -x There is no screen to be attached. 但是,这工作,但不执行python脚本: $ screen -d -m $ screen -x 我在这里做错了什么? 谢谢 :)

开球命令是减less线?

我有这样的代码: 54 08 * * * /usr/local/bin/curator –dry-run –config /home/itadmin/.curator/curator.yml /home/itadmin/.curator/daily.yml 2>&1 | /usr/bin/tee -a /home/itadmin/.curator/logs.txt | /usr/bin/tee /home/itadmin/.curator/history.txt | if [ $(wc -l </home/itadmin/.curator/history.txt) -ge 2 ]; then mail -s 'Snapshot Status' [email protected]; fi 我在做的是我发送cron的输出到logs.txt为历史目的,并发送相同的history.txt,其中if条件将工作。 其实cron的输出是这样的 2017-05-17 08:33:01,395 INFO Preparing Action ID: 1, "snapshot" 2017-05-17 08:33:01,404 INFO Master-only flag detected. Connected to non-master node. […]