Articles of cron

Crontab组权限

我已经注意到在我的debian机器上,crontab用户对/ var / spool / cron / crontabs目录没有读权限。 drwx-wx–T 2 root crontab 4096 Jun 20 21:34 crontabs 而且,实际的crontab文件只有它们所属用户的读/写权限。 我有两个问题。 有没有任何理由,用户crontab不会有读取权限的crontabs目录? 给这个用户读取个人crontab文件的权限是不是一个好主意? 我的问题的原因是我有一些开发人员需要访问编辑每个crontab。 理想情况下,我希望将它们都放在svn或类似的位置,这样我们可以在放置它们之前检查这些更改,然后使用某种forms的部署脚本。 SVN和部署是没有问题,但我正在寻找一个普通用户,可以编辑所有crontabs而不是根。

单行备份,压缩,scp数据库文件

我支持一家拥有远程托pipe网站的公司。 他们使用PostgreSQL dbs。 我不能在远程服务器上编写脚本,也不想在远程服务器上存储任何备份文件,但是我可以运行cron作业,并且可以访问远程服务器的SSH公钥。 我设置了一个本地linux主机来接受远程主机的私钥进行authentication。 我需要制作一个单行脚本来同步备份,压缩和备份文件到我的本地Linux机器。 如果我的本地Linux机器可通过端口122上的mylinuxbox.foo.com上的SSH访问,并且我的数据库的名称是mydatabase ,那么这个mylinuxbox.foo.com cron作业命令的外观如何?

当用cron运行时脚本不会做它应该做的

我有一些问题。 我有脚本执行计划,但时间到了什么都没有发生。 #!/bin/sh TIME=`date +"%d-%m-%Y"` cd /var/www/flyer/data/www/ mysqldump -u root -ppasswd –databases db_name –create-options –default- character-set=utf8 –result-file=dump.sql FILENAME="backup_$TIME.tar.gz" tar -cpzf ../backups/$FILENAME somefolder dump.sql rm dump.sql chown flyer:flyer ../backups/$FILENAME chmod 666 ../backups/$FILENAME 当我直接从ssh运行脚本为/root/backup.sh时,一切正常。 但是当它由cron运行时,什么都不会发生。 grep CRON /var/log/syslog显示它被执行(Dec 19 01:21:01 vps-8463 / USR / SBIN / CRON [1299] 🙁 root)CMD(sh /root/backup.sh> / dev / null 2>&1))但是没有存档被创build。 Cron任务: […]

监控文件的变化,并立即采取行动的变化

我如何不断地监视(小)文件的变化? 例如。 当文件被更新时(来自web应用程序的动作),脚本被执行(如果尚未运行的话)。 现在,我用cron每分钟做一次,但是这个延迟了一分钟。 我想在文件更改后立即采取行动。 也许我需要在服务器启动后编写一些在后台运行的低级进程? 我想这样做的原因是将Web应用程序与根操作分开(按需执行,一次更新文件时)。

仅在负载不太高的情况下运行cron作业

我需要同步两个系统,因此生产者列出了在消费者应用上创build的新实体。 它没有实时的需求(主要用于数据挖掘,所以在后面几个小时不是问题),但是当服务器已经忙于服务真实用户时,这个任务不运行是很重要的。 我试图以较低的优先级(nice -n19)运行同步服务,但是对于我所看到的,它仍然可能会伤害到性能,就好像这个同步服务运行一个大的数据库查询一样,它仍然会增加数据库上的负载过程和整个机器上 有没有一种方法来testing负载,并简单地退出,如果它太高(比如说2)以上? 理想情况下,如果cron没有处理太久,会有一些警告,因为负载永远不会低于2。 这是一个好方法还是我创造了更多的问题,我正在解决?

crontab一天中的一天不工作

我的crontab工作得太多了:今天是2015年11月21日,这两行都被执行了。 我真的不明白为什么。 * * 1 * 0,6 echo "test in dom" >> /opt/testweekend * * * * 0,6 echo "test" >> /opt/testweekend

可以每小时运行一次`ntp` cronjob吗?

我在Amazon EC2中有几台服务器。 注意到我已经安装ntp的实例的时间差异。 我看到/etc/cron.daily/ntp Cron作业已被添加。 不过我注意到,由于某种原因,时间漂移很快。 我打算在/etc/cron.hourly创build符号链接到/etc/cron.daily/ntp 。 这会有帮助吗?

正确获取我的服务器维护脚本

我有两个例行postgresql维护任务,需要从我的Web应用程序的某些表中删除老年行。 两者分别需要约1小时才能完成。 目前,这些维护任务中的每一个都是由一个脚本来表示的,这个脚本通过crontab在指定的时间被调用。 我试图安排两个脚本之间至less有2小时的差距,因为我不想在这两个任务之间有任何重叠。 我的问题是 – 我可以将两个脚本合并为一个,就像这样: #!/bin/sh dbname="dbname" username="myuser" psql -d $dbname -U $username << EOF # task 1 delete from links_publicreply WHERE "submitted_on" < now() – interval '14 days' AND id NOT IN (SELECT latest_reply_id FROM links_link WHERE la$ # task 2 begin; DELETE FROM links_vote WHERE link_id IN (SELECT id FROM links_link […]

使用find在centos中查找子目录下的文件

我目前的cronjob是 * 10 * * * /bin/find /var/spool/record/ -type f -exec /bin/rm {} + 它每天上午10点删除所有文件。 我正试图删除当前目录下的小于90KBtypes的特定文件。 为了那个原因 * 10 * * * /bin/find /var/spool/record/ -type f -iname "*.gsm" -size -90K -exec /bin/rm {} + 我关心的是,上面的语法也会从子目录中删除GSM文件,这将在/ var / spool / record /每天下创build,并保留该特定date的logging。 像/ var / spool / record / date1,/ var / spool / record / […]

有关cron工作的最佳实践

*/2 * * * * /etc/cronjobs/check_nginx.sh */2 * * * * /etc/cronjobs/check_php-fpm.sh */2 * * * * /etc/cronjobs/check_named.sh */2 * * * * /etc/cronjobs/check_vsftpd.sh */2 * * * * /etc/cronjobs/check_mariadb.sh 嘿家伙,这些线是脚本,检查一些服务是否正常运行,但我不知道如果2分钟足以保证稳定性,或者即使对于一个小vps(512MB内存,1个vCPU)太多。 当我为他们设置* / 2时,他们会同时被执行? 我知道这就像一个队列,但我不确定这是否是一个好的做法。 感谢您的关注!