可能是一个简单的问题,但我很困惑:
当我手动运行以下脚本时,它可以正常工作。虽然我没有以用户git的身份运行此脚本,但是作为用户X,我可以使用应用于git用户主目录的ls和du命令。 如果我尝试在cronjob中运行此脚本,则不会定期调用这两个命令,不知道原因。 cmd文件的第一个“extern”调用在两种情况下都是完美的,并产生常规输出。
我注意到:我只能使用./runbackup.sh以X用户身份运行脚本,并将其存储在用户主目录中。
Cron以用户X的权限运行。
令人困惑......:/ ......任何想法?
脚本: runbackup.sh:
#!/bin/bash
/cygdrive/e/xp-batches/backup.cmd > info.log
echo "### CURRENT HOMEDIR ###" >> info.log
ls -gh --block-size=K /home/git >> info.log
echo "### SIZE ###" >> info.log
du -hs /home/git >> info.log
email -s "Backup Status" dum@dio.com < info.log
答案 0 :(得分:1)
最好不要假设cron为您提供的环境。使用完整路径:
/ bin / ls -gh --block-size = K / home / git&gt;&gt; info.log建立
而不只是“ls”。
哦,也许使用绝对路径而不是info.log。