也许是个简单的问题,但我很困惑:
当我手动运行以下脚本时,它可以正常工作。虽然我不是以用户git的身份运行此脚本,而是以用户X的身份运行该脚本,但我能够使用应用于git用户主目录的ls和du命令。如果我试图在cron作业中运行这个脚本,那么这两个命令就不会被正常调用,不知道为什么。第一次对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发布于 2012-05-18 22:52:34
最好不要假设cron提供给你的环境是什么。使用完全路径:
/bin/ls -gh --块大小=K /home/git >> info.log
而不仅仅是"ls“。
哦,也许也可以使用绝对路径代替info.log。
https://stackoverflow.com/questions/10660658
复制相似问题