ローカル 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
スクリプト ファイルに追加して、1 分ごとに呼び出します。
sudo crontab -e
次のように呼び出します。
* * * * * /path/to/script.sh
答え2
- スクリプトからループを削除します
- スクリプトを適当なディレクトリ(例
/usr/local/sbin/
:)に配置します。 - cronジョブの説明を/etc/cron.d/に配置します。例:
* * * * * myuser /usr/local/sbin/myscript
これにより、スクリプトが 1 分ごとに実行されるようになります。その後、完全に安全を確保するには、インスタンスが 1 つだけ実行されるようにする (つまり、別のインスタンスが完了するまでに 1 分以上かかる場合は実行しないようにする) 方法を追加する必要があります。これは通常、ロック ファイルを介して行われます。