Articles of cron

Cronjob:从mailutils的Cronjob输出的电子邮件是空的

我正在用我的cronjobs来改变cronjob发送的邮件的发件人和主题。 为了发送电子邮件,我在Ubuntu 14.04上安装了mailutils软件包。 这是我从cronjob发送电子邮件的方式: 0 3 * * * /root/bin/backup.sh 2>&1 | mail -s "Slave1 Backup" -a "From:Slave1<[email protected]>" [email protected] 0 3 * * * /root/bin/backup.sh 2>&1 | mail -s "Slave1 Backup" -a "From:Slave1<[email protected]>" [email protected] 来源: 如何更改来自Cron电子邮件的“From:”字段? 但是,这给我一个空的电子邮件。 运行备份脚本是因为我可以看到所有文件都是最新的,但是电子邮件中没有文本。 如果我将其更改回此,则电子邮件将包含备份脚本的所有输出,如下所示: MAILTO: [email protected] 0 3 * * * /root/bin/backup.sh 我需要做些什么才能让mailutils发送cronjob的输出?

使用CRON但不使用SHELL的OOM

当我通过shell启动一个java程序时,一切正常。 但是,如果我用同一个命令和同一个用户通过CRON启动相同的程序,我会在几秒钟后得到一个java.lang.OutOfMemoryError。 另外,只要我不杀死被阻塞的java程序,CRON就不能做任何事情。 无论哪个cronjob应该启动,它总是以syslog中的“(CRON)错误(无法分叉)”结束。 杀死Java程序后,所有新的cronjobs再次正常工作。 java程序创build了许multithreading(启动时为1500,之后更多),而且当由crontab启动时,它始终在创build475个线程后开始挂起。 所以也许它更像“OutOfThreads”甚至OutOfMemorylogging。 为了testing的目的,我把初始线程的数目减less到了450,并且这个设置在一些分钟内工作正常(直到更多的线程被创build)。 然而,我真的需要这些1500+线程,我不知道为什么这是不可能的,当java程序已经由crontab启动。 如前所述,只要我通过shell启动程序,而不是通过crontab启动程序,一切正常。 这个问题只发生在Ubuntu 16.04上,所有旧版本都运行得很好。 这是一个错误还是一个新的安全function? 我没有find任何有关这个问题的信息,所以我希望任何人都可以帮忙。

Cron不能轮转cron.daily

我正在运行一个rhel7服务器,我有一个rsyslog logrotateconfiguration文件似乎不运行使用cron作业。 它只会工作,如果我手动运行它 我采取的故障排除步骤 logrotate -df /etc/logrotate.conf 结果:能够成功logging旋转 run-parts /etc/cron.daily 结果:能够成功logging旋转(通过查看/var/log/cron的cron日志的时间戳来validation) Jun 6 15:42:19 server run-parts(/etc/cron.daily)[144143]: starting logrotate Jun 6 15:49:26 server run-parts(/etc/cron.daily)[146078]: finished logrotate 但是,问题是如果我让它正常运行,它似乎并不旋转。这是运行的cron作业的日志: Jun 6 03:19:01 server run-parts(/etc/cron.daily)[43048]: starting logrotate Jun 6 03:19:01 server run-parts(/etc/cron.daily)[43069]: finished logrotate /etc/cron.daily/ logrotate权限已经是755 关于有问题的日志文件的SELINUX权限,已经正确使用它们 chcon –reference /var/log /directory/files 有任何想法吗?

如何处理VPS上同时打开的一个SMTP套接字?

我拥有一个用于托pipe大约30个域名的VPS。 在每个域我有几个电子邮件帐户。 共有超过150个帐户。 在过去的几周里,我注意到有时(一天几次,大部分是在高峰时间),有几封邮件没有发送,而是延期发送。 在maillog中有一个消息“拒绝连接”。 过了一段时间,他们最终成功发送。 有的在2-3小时后有一段时间过了5分钟后才发送,但是都发了。 我是一个网页devise师,具有良好的编程知识,但不幸的是在Linux(Centos7)方面经验不足。 自己无法find问题后,我到达了我的VPS的托pipe公司。 他们说,他们确实已经限制了所有的VPS 在当时只能打开一个SMTP套接字 。 他们这样做是为了防止垃圾邮件发送者将他们的IP(或整个IP范围)列入黑名单。 他们提供了我切换到专用或find另一个主机。 由于专用服务器的价格是VPS的价格的几倍,我真的不需要切换到专用(我已经提到,我主持30个小网站),我试图find解决这个问题的解决scheme。 目前,我强制重发的延期电子邮件 postqueue -f 命令。 但是我需要手动执行这个命令,并且和队列中的延期邮件一样多 。 更不用说需要不断地监视队列中的电子邮件。 显然这不是我的问题的解决scheme。 我试图安排一个crone每5分钟执行一次postqueue命令,但在第一次执行后,我得到了一些像Unknown命令postqueue或command not found或类似的错误的东西…我想这与环境variables有关,但是这是失败我现在的知识范围。 除此之外,如果在队列中有10个被拒绝的邮件,则每个cron执行只发送一个邮件。 所以最后一封邮件将在50分钟后发送,这仍然不是一个很好的解决scheme。 我需要一个cron来运行这样的事情每5分钟运行一次crone(或者其他) while (there are deferred emails in the queue) { postqueue -f } 出现了另一个问题:如果电子邮件由于另一个原因,而不是连接被拒绝,例如目的地主机不可达,那么该怎么办?比这个cron永远不会完成…!?! 一般来说,这个cron解决scheme的性能如何? 你有没有类似的问题的经验? 我如何生活在我的VPS这个SMTP套接字限制。 我应该find另一个主机或切换到专用? 这可能是相关的:我在我的VPS上使用centos 7,并且拥有用于域pipe理的Plesk面板。 任何帮助将是伟大的。 谢谢! 编辑: 我设法用这个命令安排一个cron / sbin / […]

如何在centos中使用crontab查找和删除文件

我当前的crontab从特定文件夹中删除文件是“ 0 10 * * * rm -rf /folder/path/* ”而不是删除文件夹内的所有文件,只能删除特定的文件,大小和创builddate。 cron过滤掉小于500KB大小超过10天的文件应该是正确的语法。

Centos 7的Crontab没有运行与adjtime错误

不知道有人能指引我正确的方向。 我有一个新build的centos 7服务器作为networking服务器运行。 我已经在crontab中设置了一个cronjob,但运行crontab时出现以下错误: ./crontab: line 16: adjtime: command not found crontab中的第16行是: * * * * * root /var/www/html/protected/yiic cron 有没有人有任何想法是什么adjtime 。 我认为这涉及到hwclock但林不知道。 如果我在cli上运行/var/www/html/protected/yiic cron ,它运行正常。 有任何想法吗 感谢Richard

cron.hourly工作不运行

操作系统:Ubuntu 16.04 我已经看了很多不同的文章和线程,我仍然无法让我的cron.hourly作业自动运行。 我试图在我的PostgreSQL数据库上运行备份。 在/etc/cron.hourly ,我只有一个名为pg_backup脚本。 这里是它的权限: -rwxr-xr-x 1 root root 1543 Oct 16 19:07 pg_backup 如果我运行run-parts –test /etc/cron.hourly ,输出如下: /etc/cron.hourly//pg_backup 看起来不错。 如果我使用run-parts手动运行脚本,它按预期工作,并备份我的数据库。 以下是我正在使用的命令: run-parts -v –report /etc/cron.hourly 这很好,但不pipe什么原因,它不是每个小时都运行一次。 我真的不知道什么是错的。 我检查了所有的日志,一直没有find任何错误信息。 我错过了什么? UPDATE 我注意到我的/etc/crontab文件有如下所示的shell: SHELL=/bin/sh 。 我的脚本在bash中运行。 把脚本放在我的脚本的顶部是否足以使用bash? #!/bin/bash 更新2 正如Broco所build议的那样,我把这个工作放到了我的crontab中,但仍然不能工作。 以下是我所做的: sudo crontab -e 然后我将以下内容添加到文件中: * * * * * root /etc/cron.hourly/pg_backup 我每分钟都会运行一次,以获取有关是否正在运行的更快反馈,并且似乎正在运行,但实际上并没有执行备份。 这是我的系统日志的一部分。 […]

控制器作为一个cron工作phalcon的行动

我需要运行一个cron作业来执行一个sql查询,并将数据每24小时保存在数据库中。 我有一个名为GetproductsController.php的控制器,我必须执行的方法是getdataAction() 我试图这样做: 59 23 * * * / usr / bin / curl –silent http // localhost:8080 / myproject / getproducts / getdata&> / dev / null 但是这并不奏效,我不知道该怎么做,如果有人知道我该怎么做,我将不胜感激。 我使用Phalcon框架 看待!

什么是轻量级的方式来监测机架中的服务器的温度和负载

我知道Nagios和Sensu,但是我正在寻找一个简单,轻量级的解决scheme来监视和logging负载和温度数据。 感兴趣的指标(按重要性排列): CPU温度 HDD温度 GPU温度(nvidia) CPU负载 花哨的仪表板来显示数据是不需要的。 电子邮件警报,如果温度超过一定值,也是需要的。 我已经读过,lm-sensors可以和cron作业一起使用来监测温度,并在超过阈值时发送电子邮件。 不幸的是,我读过的教程基本上是过时的,或者有一个脚本没有什么解释。 监控机架中服务器温度和负载的轻量级方法是什么?

ubuntu用户crontab删除自己

我有crontabs作为默认的ubuntu用户运行。 就在今天我注意到,我的整个crontab被删除,取而代之的是通常的样板,如果你执行crontab -r会发生什么 一些注意事项的日志条目: 在/ var / log / syslog的 Mar 15 14:45:18 localhost crontab[4732]: (ubuntu) DELETE (ubuntu) /var/log/auth.log Mar 15 14:46:02 localhost sshd[4793]: Connection closed by 127.0.0.1 [preauth] Mar 15 14:48:16 localhost sshd[4901]: Connection closed by 127.0.0.1 [preauth] 这是安全组背后的EC2服务器。 SSH仅限于我的IP。 我有支持人员使用webmin执行一些操作。 有一名工作人员在11:00左右手动执行cronjob的日志,但在11:00和14:45之间没有任何logging .bash_history for ubuntu用户不显示任何东西。 我怎么知道是什么删除了crontab? 可能是webmin中的一个错误,导致长时间运行的cron执行损坏crontab文件? 我没有在webmin中启用文件系统审计。