Articles of cron

为了debugging目的而放弃使用cron环境?

Cron脚本是在“有限”的环境中执行的,PATH和CO是非常克制的。 我怎样才能从交互式shell模拟这个env设置,以便我可以debugging脚本,从用户shell错误失败的cron shell

如何设置一个cron作业,并在我的作业中使用正确的语法

我想做一个cron作业,创build我的web目录的焦油。 我有这个工作 * * * * * tar -zcvfp /disk1/archives/websites/`date +%Y-%m-%d_%I-%M-%S-%p`/`date +%Y-%m-%d_%I:%M:%S:%p`.tar.gz /web 这个工作应该(但不)创build一个tar文件到我的/ disk1目录。 所以我难住了那一个。 还有一件事是我想到的,是否有可能把所有的备份tar文件都转储到date +%Y-%m-%d并且将同一天创build的所有文件放在那里? 所以输出看起来像 /disk1/archives/websites/2012-02-05/2012-02-05_5:25:04.tar.gz 为了testing目的,我每分钟都会做这个工作。 我的语法有什么问题吗?

当通过Cron访问PHP脚本时,一些$ _SERVER参数丢失

我有一个脚本,我需要通过cron与PHP运行。 脚本的原始作者使得许多$_SERVER参数的用户(例如REQUEST_URI )。 但是,通过命令行或通过CRON运行PHP时,似乎某些variables不存在。 例如,没有请求的URI,所以REQUEST_URI参数不可用是有意义的。 除了完全重写脚本以避免使用通用的特殊$_SERVER参数之外,还有什么办法可以解决吗?

即使redirect到/ dev / null 2>&1,Cron邮件也会输出

下面的代码应该将所有输出redirect到/ dev / null,但是root用户仍然会收到第一个命令(/ usr / bin / svnadmin)输出的邮件。 为什么? #!/bin/sh # Dump repo and upload via tarsnap /usr/bin/svnadmin dump /srv/repos/www | gzip > /srv/repos/backup/www-repo-`date –iso-8601`.gz > /dev/null 2>&1 /usr/local/bin/tarsnap -c -f www-repo-`date –iso-8601` /srv/repos/backup/www-repo-`date –iso-8601`.gz > /dev/null 2>&1

基于CLI SAPI的守护程序,支持cronjobs的PHP应用程序

我需要构build一个基于CLI SAPI的守护进程,PHP应用程序,支持iOS平台的cronjobs。 我们有专用的服务器。 什么样的PHP环境运行这种types的PHP应用程序?

Centos使用cron作业备份mysql

根据这个教程http://www.a2hosting.com/kb/getting-started-guide/backing-up-your-data/backups-on-dedicated-servers-and-vps试图备份mysql数据库 我做了: 1)在home目录中创build文件夹。 /home/USERNAME/backup/ 2)在文件夹backup创build文件中,名为backup-cron-mysql.sh 3)创buildbackup-cron-mysql.sh内容 #!/bin/bash db_name=dabase_name db_user=user db_password=password backup_filename=$db_name-`date +%F` mysqldump -h localhost -u $db_user -p$db_password $db_name | gzip > /home/USERNAME/dbbackup/$backup_filename.sql.gz 制作backup-cron-mysql.sh可执行文件(八进制:0755) 4)创build文件夹dbbackup 。 path: /home/USERNAME/dbbackup/ 5)使用putty.exelogin并inputcrontab –e ,然后回车。 Latter发现cronconfiguration文件位于目录/var/spool/cron/ ,文件名是root 6)用Notepad ++打开root文件并粘贴下面的代码 45 14 * * * /bin/sh /home/USERNAME/backup/backup-cron-mysql.sh [email protected] 因为/home/USERNAME/dbbackup/必须看到一些文件。 但什么都不看(空文件夹)。 请指教一下需要更正的,备份mysql

用户crontab不可访问

我无法编辑我的用户crontab超级用户。 我期望以下工作,但我收到一条错误消息: $ crontab -e crontabs/gauthier/: fdopen: Permission denied 以下是工作,但我不认为我应该需要sudo来编辑我的用户特定的crontab: $ sudo crontab -u gauthier -e 我的用户crontab的权限: $ sudo ls -l /var/spool/cron/crontabs total 4 -rw——- 1 1001 crontab 1139 Sep 10 08:36 gauthier 我试图把自己添加到crontab组中去,没有任何一个(现在我明白了,我不应该在这个组中,只有SGID才能工作)。 对这个问题的回答说改变/usr/bin/crontab的权限,所有者和组,但是这个文件在这里似乎没有涉及。 我不明白为什么这些权限会从系统默认值改变。 我错在哪里? crontab -e不起作用是正常的吗? 即使我在crontab组? 我该怎么做呢? 如果我需要更改/usr/bin/crontab的权限和所有者,为什么不在默认安装中工作?

每小时cron作业没有运行

我们有一个cron脚本,用于在我们的环境中运行Salt以及其他几个步骤,但由于某种原因,它根本就没有执行。 root@salt:~# cat /etc/cron.hourly/salt-apply.sh #!/bin/bash /bin/cat << EOF | /bin/bash 2>&1 > /var/log/salt-apply.log /bin/date cd /srv/salt /usr/bin/git pull /usr/bin/salt '*' saltutil.sync_all /usr/bin/salt '*' state.apply /bin/date EOF root@salt:~# ls -l /etc/cron.hourly/salt-apply.sh -rwxr-xr-x 1 root root 199 Feb 7 22:47 /etc/cron.hourly/salt-apply.sh 它不运行,/var/log/salt-apply.log中没有错误,并且cron似乎正在运行小时运行部分: root@salt:~# grep -i cron.hourly /var/log/syslog | tail -n 5 Feb 7 22:17:01 salt CRON[6941]: (root) […]

Logrotate错误:找不到/var/log/apache*/*error.log文件

Logrotate每天运行,并通过电子邮件发送给我一份报告。 这一直工作正常,但我现在每天也得到以下电子邮件: Date: Mon, 10 Aug 2009 04:02:08 +0100 From: [email protected] (Cron Daemon) To: [email protected] Subject: Cron <root@dev> run-parts /etc/cron.daily Auto-Submitted: auto-generated X-Cron-Env: <SHELL=/bin/bash> X-Cron-Env: <PATH=/sbin:/bin:/usr/sbin:/usr/bin> X-Cron-Env: <MAILTO=root> X-Cron-Env: <HOME=/> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> /etc/cron.daily/logrotate: ERROR No file found for /var/log/apache*/*error.log ERROR No file found for /home/www/myhomepage/error.log ERROR No file found for /var/www/*/logs/access_log 上面的日志目录不存在,我不知道为什么logrotate突然决定包含它们。 我觉得这个问题在我安装了fail2ban之后就开始了。 […]

这个crontab会正常工作吗?

我添加了两行到我的crontab: 0,4,1,* * * * * /srv/vhostsbackup.sh 30,4,1,* * * * * /srv/dbbackup.sh 两个sh应该在一个月的第一天执行一次。 他们会工作吗?