小编Owe*_*ker的帖子

令人沮丧的问题是 cron 和 su -c 都没有运行我的工作(权限?)

更新(和剪断)下面的更多详细信息。

我已经设置了一个 cron 脚本,我正在尝试调试它为什么没有运行。[剪切上下文测试,一切正常;有关详细信息,请参阅修订版 2 ]命令本身,如果有帮助,(箭头表示换行以提高可读性)是:

/usr/bin/php -C /etc /path/to/process.php
?  >>/path/to/stdout.log 2>>/path/to/stderr.log
Run Code Online (Sandbox Code Playgroud)

[截取权限测试,一切正常;详情见下文和修订版 2 ]

检查crontab(再次,包装为易读性),我得到:

[blackero@XXXXXXXXXXX to]$ sudo crontab -u cronuser -l
MAIL="blackero@localhost"

30 9 * * * cronuser /usr/bin/php -C /etc /path/to/process.php
?   >>/path/to/stdout.log 2>>/path/to/stderr.log
20 18 7 * * cronuser /usr/bin/php -C /etc /path/to/process.php
?   >>/path/to/stdout.log 2>>/path/to/stderr.log
22 18 7 * * cronuser echo "Test" > /path/to/test.txt
?   2> /path/to/error.txt
Run Code Online (Sandbox Code Playgroud)

在 2012-02-08 12:32 Z更新 #1

[剪辑:尝试过derobert …

cron permissions

5
推荐指数
2
解决办法
2762
查看次数

在没有用户输入的情况下,Shell 脚本不会将标准输出的最后一行绘制到屏幕上

我有一个 shell 脚本,它很高兴地完成我所有的备份过程并将进度写入 stderr 和 stdout,只有一个例外——最后一行不会写入我的终端(如果我手动调用脚本),直到我点击Enter.

现在这没什么大不了的,但它没有这样做真的让我很恼火,所以我想了解它为什么会这样。

写入输出的内容(在我点击之后Enter)读取:

[blackero@XXXXXXXXXXXXXXXX ~]$ fullbackup.sh
Tue Feb 28 17:57:41 GMT 2012
Tue Feb 28 17:57:41 GMT 2012
Starting SITE_NAME backup
maintenance_mode was set to 1.                                                    [success]
/home/blackero/bin/fullbackup.sh: line 36: hash: lzma: not found
maintenance_mode was set to 0.                                                    [success]

Backup for SITE_NAME created


[blackero@XXXXXXXXXXXXXXXX ~]$
Run Code Online (Sandbox Code Playgroud)

脚本的相关部分如下(?表明我已经对代码进行了自动换行以提高可读性):

#!/bin/bash
date
date 2>&1

# [A bunch of content has been deleted from here]

# Compress with lzma if available, otherwise use …
Run Code Online (Sandbox Code Playgroud)

io-redirection shell-script echo stdout

3
推荐指数
1
解决办法
517
查看次数

标签 统计

cron ×1

echo ×1

io-redirection ×1

permissions ×1

shell-script ×1

stdout ×1