我在其中运行一些脚本以从数据库中提取数据的几个服务器帐户可用的工具非常有限,并且在其中一些服务器帐户中,您不允许(即使是正式请求)使用 cron,正如前面所说,您能推荐任何工具吗?可以用来安排脚本的执行(就像 cron 一样)?
提前致谢 :)
更新 1:是的,我指的服务器是 Linux、HP-Ux 和 Solaris,Bash > 3.x 可用。
我使用的是非常普通的 Ubuntu Server 9.04,并且 cron 没有向我的 /var/mail/USER 发送任何邮件(该文件甚至还没有创建)。这是我的完整 crontab:
# m h dom mon dow command
15 * * * * $HOME/.cron/sync-bookmarks.bash
Run Code Online (Sandbox Code Playgroud)
如果我添加
# m h dom mon dow command
15 * * * * $HOME/.cron/sync-bookmarks.bash >& /tmp/log
Run Code Online (Sandbox Code Playgroud)
然后我在 /tmp/log 中看到 stdout 和 stderr。我(还)对实际的远程电子邮件传递不感兴趣,只是对邮件假脱机文件的本地传递感兴趣。为什么邮件不起作用?提前感谢您的任何提示。
我有一个 cronjobs 列表,其中一些每天执行,而另一些则执行 15 分钟。我确实想收到一封每天执行的电子邮件,但希望每 15 分钟执行一次的电子邮件被禁用(或者可能每天收到一封电子邮件),有没有办法在 crontab 中做到这一点?
root邮件账号被恶作剧的cronjobs炸了,想把账号里的邮件彻底删除。在邮件命令中有一个键吗?
我删除了 /var/mail/root 但我不知道这是否是正确的方法,或者是否root需要手动重新创建文件。
更新我root用 660 和 root:mail 所有权重新创建了文件,我会看看是否需要让 root 帐户再次接收邮件。
如果 crontab 中存在具有以下语法的条目:
* * * * * /usr/bin/program
Run Code Online (Sandbox Code Playgroud)
这将多久运行一次?它最初将如何启动?
我想运行一个 cron 作业。安排它很容易并且有效。
我的问题是我不知道如何一次只运行一个版本。
有任何想法吗?
G-Man
我在我的 crontab 上看到这个错误:
Dec 8 09:51:01 ikeyprod cron[29245]: Error: bad username; while reading /etc/crontab
Run Code Online (Sandbox Code Playgroud)
我已经验证这些命令都可以通过 sudo 手动推送。
-rw-r--r-- 1 root root 2.2K 2010-12-08 09:50 crontab
Run Code Online (Sandbox Code Playgroud)
这些命令没有被运行,我不知道为什么......但我看到了上述错误......
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO="web@domain.com"
# m h dom …Run Code Online (Sandbox Code Playgroud) 我收到了来自 cron 的奇怪邮件:
Return-Path: <root@domain.com>
Delivered-To: root@domain.com
Received: by domain.com (Postfix, from userid 0)
id 6F944264D0; Mon, 10 Jan 2011 10:35:01 +0000 (UTC)
From: root@domain.com (Cron Daemon)
To: root@domain.com
Subject: Cron <root@domain> lynx -dump http://www.domain.com/cron/realqueue
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20110110103501.6F944264D0@domain.com>
Date: Mon, 10 Jan 2011 10:35:01 +0000 (UTC)
/bin/sh: lynx: not found
Run Code Online (Sandbox Code Playgroud)
我在 crontab 文件中有这个 cron 设置:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/5 * * * * lynx -dump http://www.domain.com/cron/realqueue
17 * * * * …Run Code Online (Sandbox Code Playgroud) 我在 php 下有一个名为 test.php 的 php 文件,设置为每小时每 5 分钟运行一次。当我手动运行文件时(通过转到 Web 浏览器并运行路径),它工作正常。但是当 cron 作业尝试运行它时,我收到错误消息
我的 cron 工作是
#### Delete Records
5 * * * * /var/www/html/phpsysinfo/cronUpdateLeadBucketOnEnergycAlliance.php
Run Code Online (Sandbox Code Playgroud)
我的 phpfile 是(路径:/var/www/html/phpsysinfo/phpfile)
<?php
require("dbconnect.php");
$sql = mysql_query("DELETE FROM list where status <> 'LEAD'") or die(mysql_error());
?>
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
/var/www/html/phpsysinfo/phpFile.php: line 1: ?php: No such file or directory
/var/www/html/phpsysinfo/phpFile.php: line 2: syntax error near unexpected token `"dbconnect.php"'
/var/www/html/phpsysinfo/phpFile.php: line 2: `require("dbconnect.php");
Run Code Online (Sandbox Code Playgroud)
谢谢