是否有可以运行的命令来验证用户 cron 作业是否已成功运行?
平台是 Ubuntu 8.04 LTS。
我在 /home/useraccount/bin/ 中有脚本
跑步
crontab -l
Run Code Online (Sandbox Code Playgroud)
以用户身份登录时会导致:
# m h dom mon dow command
@hourly /home/useraccount/bin/script_1
@hourly /home/locateruser/bin/script_2
Run Code Online (Sandbox Code Playgroud)
我意识到脚本可以发送电子邮件或写入带有时间戳的日志,但想知道是否只有一种方法可以验证它从命令行运行。
编辑:
我跑了
ps -ef|grep cron
Run Code Online (Sandbox Code Playgroud)
...它显示
root 4358 1 0 Mar12 ? 00:00:00 /usr/sbin/cron
Run Code Online (Sandbox Code Playgroud)
不确定这是否表明它正在运行作业....
我们需要在所有用户的 cron 路径中设置 /usr/local/bin。有没有办法在系统范围内设置它,而无需编辑每个用户的 crontab?
我们尝试将 PATH 添加到 /etc/crontab:
# grep PATH /etc/crontab
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
但是当用户在他们的 crontab 中有这个时:
$ crontab -l | grep PATH
* * * * * echo $PATH > /tmp/current_cron_path
Run Code Online (Sandbox Code Playgroud)
...它表明他们的路径仍然设置为默认值:
$ cat /tmp/current_cron_path
/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud) 我正在使用 git 来制作对我的项目所做更改的历史记录。我知道这不是理想的用法,但这是我出于各种原因选择的使用模式,为简洁起见,我不会介绍。
我将如何创建一个每天或每周将更改提交到存储库的 cron 作业?
我在 Ubuntu 10.10 上使用最新版本的 git。
与服务器时间相比,我的 cron 作业是在一小时后计算的。我不明白发生了什么。
我的配置如下:
服务器时间:
Europe/Paris
Run Code Online (Sandbox Code Playgroud)
在 /etc/default/cron 中,我添加了以下行:
TZ="Europe/Paris"
Run Code Online (Sandbox Code Playgroud)
尽管如此,cron 作业比服务器时间晚一小时启动。真正棘手的是,如果我让 cron 播放指令“日期”,它会给出服务器日期(好的!)。
我不知道如何解决这个问题;我一直在论坛上阅读一些资料,但没有发现任何有趣的内容。
你怎么认为 ?
我没有输入“crontab -e”,而是不小心输入了“crontab”并被卡在了一个进程的中间,所以我中止了这个进程。现在当我去 crontab -e 时,它完全是空白的。这一点都不好。如果我无法取回它,我将需要重写它。
有没有什么办法:
搬到新笔记本电脑上,我丢失了旧的 cron 设置。
我想将它包含在我的备份中。
它位于哪里?
我不小心抹去了我所有的 cron 工作。我不确定我做了什么。我不记得通过发出crontab -e. 有哪些可能的方法可以完全消除 cron 作业?
出于某种原因,我的 crontab 没有运行每小时/每周/等脚本。似乎运行部件不起作用,我也无法让它在我的本地机器上运行。我使用它的方式有错误吗?
fabe@fabetop ~ $ cat /home/fabe/tmp/test.sh
#!/bin/sh
touch /home/fabe/tmp/test_it
fabe@fabetop ~ $ ls -la /home/fabe/tmp
total 32
drwx------ 2 fabe fabe 4096 Feb 20 15:00 .
drwx------ 60 fabe fabe 16384 Feb 20 15:00 ..
-rwxr-xr-x 1 fabe fabe 39 Feb 20 15:00 test.sh
fabe@fabetop ~ $ run-parts --report /home/fabe/tmp
fabe@fabetop ~ $ ls -la /home/fabe/tmp
total 32
drwx------ 2 fabe fabe 4096 Feb 20 15:00 .
drwx------ 60 fabe fabe 16384 Feb 20 15:00 ..
-rwxr-xr-x 1 …Run Code Online (Sandbox Code Playgroud) 我用 C++ 编写了一个小工具,对其进行编译,使其可执行,并将其移至/opt/tools/bin。后者是我创建的用于存储小型自定义程序的目录。我export把它放在$PATH我的.zprofile中,它让我tool在终端中使用,并且程序运行良好。
然而,当我尝试设置一个 cron 作业tool每天运行几次时,cron 总是抱怨"/bin/sh: ./tool: No such file or directory"。
我已经尝试过这两个 cron 命令,结果相同:
0 8,12,16,20 * * * zhrdct >> /opt/tools/var/log/zhrdct.log 2>&10 8,12,16,20 * * * ./zhrdct >> /opt/tools/var/log/zhrdct.log 2>&1这里可能有什么问题?
我知道我可能可以使用工具的绝对路径,但如果可能的话,我希望它可以与速记一起使用。