我有一個腳本每晚運行。用戶標識設置在sudoers中以執行這些功能。我不打算禁用「Defaults requiretty」,特別是不知道爲什麼它現在突然成爲問題。爲什麼我會在一年內運行良好的腳本中出現此錯誤? - sudo:對不起,你必須有一個tty來運行sudo
下面是它使用sudo的作用:
sudo lvcreate -- size 19000M –snapshot –name snap_u /dev/mapper/vg_u-lvu
sudo mount /dev/vg_u/snap_u /snapshot
sudo rsync -av --delete --bwlimit=12000 –exclude usr/spoolhold --exclude email --exclude tempfile /snapshot/ /u1/prev/dir
sudo umount /snapshot
sudo lvremove -f /dev/vg_u/snap_u
在過去的幾個星期它不工作的大部分時間。有時當我「手動」運行命令時,它工作正常。當它失敗我看到這則消息填充日誌文件:
須藤:對不起,你必須有一個tty運行sudo的
的問題開始了,當我換一些其他的腳本遠程備份。我在這個腳本中改變的唯一的東西是評論。該腳本由使用'nohup'在後臺運行的應用程序調用。
在我的測試過程中,當我想立即再次運行它時,我終止了進程以阻止它在後臺運行。從那以後,我遇到了這個問題。所以,我的問題是這些:
- 這個錯誤可能與'殺死'這些進程(也許我殺了錯誤的)?
- 解決方案的任何想法?
以下是有關該問題的更多信息。這個腳本中有多個sudo命令。前兩名沒有發生事故。 (創建快照和掛載快照)。第三個(rsync)是什麼引發這個消息。我檢查了sudoers,看到rsync在NOPASSWD列表中。更神祕的是,劇本每運行一次都會運行。 –