我正在建立本機 FTP 伺服器,我需要在電腦啟動時執行此腳本:
#!/bin/bash
while [ 1 ];
do
chmod 2777 /home/ftp/folder;
chmod -R 777 /home/ftp/folder;
sleep 60;
done
解決這個問題的最佳方法是什麼?
我嘗試將其放入 rc.local 檔案中,但這根本不允許伺服器正常啟動,而且該腳本還需要以 sudo 身份運行,如果這會在腳本運行中產生影響的話。
任何幫助或想法將不勝感激,謝謝。
答案1
使用 cronjob 怎麼樣?
放
#!/bin/bash
chmod 2777 /home/ftp/folder
chmod -R 777 /home/ftp/folder
寫入腳本檔案並每分鐘調用它:
sudo crontab -e
並調用以下內容:
* * * * * /path/to/script.sh
答案2
- 從腳本中刪除循環
- 將腳本放入某個合理的目錄中(例如
/usr/local/sbin/
) - 將 cron 作業描述放入 /etc/cron.d/ ,例如
* * * * * myuser /usr/local/sbin/myscript
這將使您的腳本每分鐘運行一次。然後,為了完全安全起見,您需要添加某種方法來確保實例僅運行一次(即,如果另一個實例需要超過一分鐘才能完成,則不運行)。這通常是透過鎖定文件完成的。