[英]Shell-Script: Cronjob vs. user rights
可能是一個簡單的問題,但我很困惑:
當我手動運行以下腳本時,它可以正常運行。 雖然我不是以git用戶身份運行此腳本,但以XI用戶身份運行時,才能使用應用於git users主目錄的ls和du命令。 如果我嘗試在cronjob中運行此腳本,則不會定期調用這兩個命令,不知道為什么。 cmd文件的第一個“外部”調用在兩種情況下均能完美運行,並產生常規輸出。
我注意到的是:我只可以使用./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
最好不要對cron為您提供的環境承擔任何責任。 使用完整路徑:
/ bin / ls -gh --block-size = K / home / git >> info.log
而不只是“ ls”。
哦,也許也可以使用絕對路徑而不是info.log。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.