crontabは高い権限でスケジュールを繰り返します。

crontabは高い権限でスケジュールを繰り返します。

15分ごとに次のコマンドを実行する必要があります。

    sudo chmod -R 777 /directory

Ubuntuサーバーを使用しています。このコマンドは高い権限(root)で実行する必要があります。

/etc/cron.xxx ディレクトリを使うつもりです。

誰でもこれを達成する方法を案内できますか?

ありがとう

答え1

15分ごとにrootとしてコマンドを実行するには、rootの独自のcrontabにコマンドを追加します。

sudo crontab -e

次に、crontabを追加します。

*/15 * * * * chmod -R 777 /directory

エディタを保存して終了します。

cronジョブはジョブを所有しているユーザーとして実行されるため、この例ではsudocrontabではrootは使用されません。

答え2

ユーザーのcrontabではなく、rootのcrontabでこれを行う必要があります。実際、あなたはおそらくできるこの作業を直接実行してくださいcrontab。ただし、認証メカニズム(例えば、sudoが有効になっているユーザーIDとパスワード)が必要です。環境変数を介してこれを実行できますが...

sudo crontab -e

編集のためにルートのcrontabが開きます。コマンドの前に - を付ける必要はありません。たとえば、次のようにsudoなります。su root

* * * * * date >> /etc/mydatalog.txt

エディタを保存して閉じます。

これが機能していることを確認するには、ユーザーアカウントで次の操作を実行します。

sudo tail -f /etc/mydatalog.txt

あなたの場合、sudoルートのcrontabは必要ありませんので、次のように動作します。

chmod -R 777 /directory

関連情報