web-dev-qa-db-ja.com

ルートからcrontabを実行するのに役立ちます

Mac OS Xを使用していますが、cronジョブを実行するのに問題があります。次のように入力します。

$ Sudo -i
$ crontab -e

次に、次のように入力します。

* * * * * root ifconfig en0 down > /dev/null
0 19 * * * root ifconfig en0 down > /dev/null
0  7 * * * root ifconfig en0 up > /dev/null

成功しませんでした。最初の行はテスト用です。インターネットを遮断したい。これが機能するようになったら、次の2行を残す予定です。

これを端末に入力するとインターネットがオフになります

ifconfig en0 down

Cronジョブがインターネットをシャットダウンしないのはなぜですか?

参考までに:これは 午後7時から午前7時までインターネットをブロックするcronジョブを作成するにはどうすればよいですか?(睡眠をとることができます) コメントのほとんどは楽しい人がいます私の。そして、cronジョブなしで問題を解決するためのいくつかの試み。

3
user242065

Crontabにコマンドを入力する場合、ユーザーを指定する必要はありません。各ユーザーは、/ usr/lib/cron/tabs /に独自のcrontabを格納しているためです。

Crontabは次のようになります。
* * * * * /sbin/ifconfig en0 down > /dev/null
0 19 * * * /sbin/ifconfig en0 down > /dev/null
0 7 * * * /sbin/ifconfig en0 up > /dev/null

4
WinGuru

あなたはwifiルーターを持っていますか、そしてあなたの空港はまだ開いていますか?もしそうなら、あなたもそれを止める必要があります。 [システム環境設定]-> [ネットワーク]で完全にシャットダウンするか、cronコマンドを使用して同じことを行います。私のマシンでは、空港はen1ですが、よくわからない場合は、元の質問に対する回答をチェックインする方法を説明しました。

チェックするもう1つのことは、crontabファイルの先頭にあるパスです。 ifconfigコマンドへのアクセスを提供する必要があります。

ターミナルで「whereisifconfig」を実行して、ifconfigコマンドが配置されている場所を見つけ、そのパスがない場合は、crontabファイルの先頭にあるpathコマンドに追加します。

0
stephenr