我希望让cron执行delete_snapshot.bash,但是当我尝试创建cron时,如下所示:
*/1 * * * * /var/www/mango_gis/delete_snapshot.bash>/dev/null
它根本没有执行我的脚本,因为当我没有看到它删除亚马逊云中的快照,并且我的脚本已经用bash测试过,它工作正常。Cron作业执行backup.bash
这里是如下我的脚本:
#!/bin/bash
get()
{
local pos=$1
shift
eval 'echo ${'$pos'}';
}
length(){ echo $#; }
find_snapshots()
{
echo $(ec2-describe-snapshots | xargs -n1 basename);
}
snapshots=$(find_snapshots)
len=$(length $snapshots)
row_count=$(($len/6))
if(($row_count > 6)); then
delete_count=$(($row_count-6))
for ((i=1; i<=$delete_count; i++)); do
ec2-delete-snapshot $(echo $(get $((2+$((6*$(($i-1)))))) $snapshots)) > /dev/null
done
fi
在上面,我发现这个问题是我称之为EC2命令一个命令。
我测试过创建一个cron作业来调用这个命令是ec2-describe-snapshots,
但它不起作用。
请指教...
Leakhina
你怎么k现在它“根本没有执行脚本?”你丢弃stdout两次 - 一次在你的crontab中,一次在脚本本身 - 也许脚本*正在执行,但其他一些错误被丢弃或丢失。 你的'crond'日志说什么? 'crond'错误在哪里去?另一个琐碎的cronjob是否可以运行(例如'*/1 * * * * logger -p daemon.err - “我是一个cronjob”')? – pilcrow 2010-06-09 06:53:02
我知道它没有执行脚本,因为我没有删除我想要从亚马逊云计算中删除的快照,所以它不起作用。任何方式如何查看cron日志? – leejava 2010-06-09 07:26:39
你可以在你的syslog.conf中使用“cron”来定义日志文件 – Thariama 2010-06-09 08:42:15