簡體   English   中英

Shell腳本:Cronjob與用戶權限

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM