我不知道为什么这个脚本不起作用。该脚本已被设置为可执行文件,我在邮件或我设置的snap.log中没有输出以捕获任何内容。我在命令行以root身份运行并且运行正常,但是一旦它被添加到cron,没有任何反应。我完全难过,任何帮助都会受到赞赏。感谢。
在OS X Mavericks上运行。
#!/bin/bash
# Ignores white space in directory names
IFS=$'\n'
# Sets all variables needed
export DLY_BKP=/Volumes/BKP/Daily_bkp.`/bin/date +%m%d%y`
export DLY_LOG=AAAdaily_bkp.txt
export BKP_DIR=/Users/Backup_logs
export VMPATH=/Applications/VMware\ Fusion.app/Contents/Library
#####################################################
# Finds all running VMs
$VMPATH/vmrun list | /usr/bin/sed 1d > $DLY_BKP/$DLY_LOG
# Creates snapshots of all running VMs on the server
while read vm; do
$VMPATH/vmrun -T ws snapshot $vm "snapshot `/bin/date +%m/%d/%Y`"
$VMPATH/vmrun -T ws deleteSnapshot $vm "snapshot `/bin/date -v-2d +%m/%d/%Y`"
done < $DLY_BKP/$DLY_LOG > $DLY_BKP/snap.log 2>&1
答案 0 :(得分:0)
为CRON使用设置脚本通常需要通过crontab设置或脚本本身添加路径。尝试将显式PATH添加到crontab或脚本中。
Crontab条目因操作系统而异,请检查您的文档 - 对于免费BSD,它们类似于“crontab -e”和编辑条目(有关您的操作系统的详细信息,请参阅“man crontab”或“man -a crontab”):
PATH=/some_custom_path # affect all JOBs in Crontab
### MM HH Day Month WEEk_Day << Order VARIES by OS!
## run on 2nd/4th/6th days of week
19 9 * * 2,4,6 /home/user/bin/some_script
抛弃所有输出:
19 9 * * 2,4,6 /home/user/bin/some_script > /dev/null 2>&1
将所有数据发送到您指定的日志文件:
19 9 * * 2,4,6 /home/user/bin/some_script > /tmp/cron_job.log 2>&1
邮件结果&amp;错误
19 9 * * 2,4,6 /home/user/bin/some_script 2>&1 | mail -s "Cron results" user@your_dom.com