【发布时间】:2017-12-02 12:29:36
【问题描述】:
我用绝对路径更新了脚本。这也是我当前的 cronjob 条目。
我去修复了 ssh 密钥问题,所以我知道它可以工作,但可能仍需要告诉 rsync 使用什么密钥。
脚本在用户手动调用时运行良好。看起来连 rm 命令都没有被 cron 作业执行。
更新
我更新了我的脚本,但基本上与下面的相同。下面我有一个新的 cron 时间并添加了一个错误输出。
我什么也得不到。看起来脚本甚至没有运行。
crontab -e
35 0 * * * /bin/bash /x/y/z/s/script.sh 2>1 > /tmp/tc.log
#!/bin/bash
# Clean up
/bin/rm -rf /z/y/z/a/b/current/*
cd /z/y/z/a/to/
/bin/rm -rf ?s??/D????
cd /z/y/z/s/
# Find the latest file
FILE=`/usr/bin/ssh user@server /bin/ls -ht /x/y/z/t/a/ | /usr/bin/head -n 1`
# Copy over the latest archive and place it in the proper directory
/usr/bin/rsync -avz -e /urs/bin/ssh user@server:"/x/y/z/t/a/$FILE" /x/y/z/t/a/
# Unzip the zip file and place it in the proper directory
/usr/bin/unzip -o /x/y/z/t/a/$FILE -d /x/y/z/t/a/current/
# Run Dev's script
cd /x/y/z/t/
./old.py a/current/ t/ 5
感谢您的帮助。
【问题讨论】:
-
尝试对命令使用绝对路径
-
我试过 bash /x/y/z/s/old.py 或 /x/y/z/s/./old.py,但还是不行
-
那么是让脚本运行的问题,还是脚本运行时的问题?如果脚本没有运行,您可以发布您拥有的 crontab 条目吗?
-
@JDoe 对命令使用绝对路径,例如
/usr/bin/unzip。你可以通过which unzip了解他们。 -
脚本的任何输出都应通过电子邮件发送给您。如果出现错误,您应该会在电子邮件中看到。