タグ付けされた質問 「cron」

Cronは、ユーザーが定期的にコマンドを実行できるジョブスケジューラです。

3
毎月の最終日をスケジュールします
月の最終日にスクリプトをスケジュールするように指示から読みました。 注: 毎月をカバーするようにdayofmonthの値を設定できないため、鋭い読者は、毎月の最終日にコマンドを実行するように設定する方法について疑問に思うかもしれません。この問題はLinuxおよびUnixのプログラマーを悩ませ、かなりの数の異なるソリューションを生み出しました。一般的な方法は、dateコマンドを使用して明日の日付が01かどうかを確認するif-thenステートメントを追加することです。 00 12 * * * if [`date +%d -d tomorrow` = 01 ] ; then ; command1 これにより、毎日正午にチェックされ、月の最終日であるかどうかが確認されます。最終日である場合は、cronがコマンドを実行します。 どのように機能し[`date +%d -d tomorrow` = 01 ]ますか? 述べるのは正しいthen; command1ですか?
10 shell-script  cron  date  test 

5
cronジョブでのnginx logrotateエラー
私は、Ubuntu 14.04 LTSとnginxをDigital Ocean VPSで実行しており、cronジョブの失敗に関する次のメールをときどき受け取ります。 件名 cronテスト-x / usr / sbin / anacron || (cd / && run-parts --report /etc/cron.daily) メールの本文は次のとおりです。 /etc/cron.daily/logrotate:エラー: '/var/log/nginx/*.log'の共有postrotateスクリプトの実行中にエラーが発生しましたrun-parts:/etc/cron.daily/logrotateが戻りコード1で終了しました これを解決する方法について何か考えはありますか? 更新: /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ …
10 ubuntu  cron  nginx  logrotate 

5
cronジョブのタイムゾーンを変更する
私は毎日UTCタイムの午前9:00に実行されるcronjobを持っています。私はGMT + 1にいるので、現地時間の午前10:00に実行されます。(夏時間(DST)への)タイムゾーンの変更がある場合、cronjobは依然としてUTC-Timeの午前9:00に実行されますが、現地時間の午前11:00に実行されます。しかし、夏時間に関係なく、常に10:00に実行したいです。それ、どうやったら出来るの?
10 shell  cron  timezone 


2
cronと同じ環境の対話型シェル
私はcrontabの魔法の世界で多くの落とし穴を認識していますが、シェルスクリプトがcrontab。 今私は自分のことを考えましたが/bin/openvt -c8 -- /bin/bash --noprofile -l、ルート権限が必要であり、設定する変数が多すぎ、単純なsu myusername設定では追加の環境がたくさん設定されます。 対話型のbashシェルをcronと同一の環境で起動し、Kubuntuでroot権限を必要としない方法を知っている人はいますか? sshセッション、GUI、および次のOSの1つ以上で動作する場合のボーナス:HP-UX、Solaris、AIX

1
crontabのエラーメッセージで「行19:12364 Killed」はどういう意味ですか?
私は毎日のcrontabタスクを受け取りました: 50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1 このdaily_taskシェルスクリプトは、いくつかのpythonスクリプトを実行し、データファイルを生成します。 そして、それは二晩失敗します。しかし、朝に来たとき、Pythonスクリプトを手動で実行して、データファイルを取得しました。または、日付のみを設定する新しいcrontabを設定したところ0 10 * * *、このcrontabも成功しました。 だから昨日、> /tmp/zen_log 2>&1エラーメッセージを受け取るためにcronタスクを入れました。 そして今朝、zen_logに次のエラーメッセージが表示されました。 /my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 一部のプロセスが強制終了されたようですか?しかし、これline 19: 12364 Killedは正確にはどういう意味ですか? PS: 今日、1分前にpythonスクリプトを手動で実行すると、次のようになりました。 /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 Killed
10 bash  cron 

1
ハードドライブのスリープ時間(7日)をスケジュールすることは可能ですか?
Linux(Debian 9)ボックスに接続されている外付けハードドライブがスリープ状態になる(回転が停止する)タイミングをスケジュールする方法を探しています。 これをコンテンツに組み込むには、マルチメディアサーバーとして動作するLinuxボックスがあります。外部ハードドライブにあるコンテンツをフェッチするための呼び出しが行われると、ハードドライブが起動して回転を開始するまでに15〜30秒かかることがよくあります。ハードドライブを24時間365日起動して回転させるように設定することもできますが、ほとんどの場合、自宅にいるときにのみマルチメディアサーバーを使用すると、これは無駄になります。 ハードドライブが回転しているときの週次スケジュールを設定するために使用できるソフトウェアツールまたはコマンドはありますか(例:月曜から金曜は午後5時から午後11時までの回転)土曜から日曜は午後3時から午後11時までの回転。システムタイマー

6
起動時に自動リバースSSH接続を行う
Digitalocean VPCへのリバースSSH接続を行うNATの背後にPCがあります。私はこの逆SSH接続を自宅から利用してオフィスPCにログインし(許可されています)、ファイルをコピーしたり、その他の重要なことを行ったりします。 頻繁ではありませんが、オフィスのPCが再起動し(電源障害などが原因)、VPCとの逆SSH接続が切断されていることに気付きました。このような場合、自宅のPCからオフィスのPCに接続できません。 以下のスクリプトを実行して、オフィスPCで生成されたトラフィック(閲覧情報を共有する必要がないため)を逆接続+動的プロキシに匿名化します。 autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC 私は物理的にそこにいないので、再起動時に自分のオフィスPCで再びこのスクリプトを実行する方法はありません。この問題を解決するために、次のcrontabをインストールしました。 注:rev.shファイルには上記の行が含まれています。証明書「digitalOcean」とrev.shはにありUbuntu homeます。したがって、./rev.shUbuntuターミナルで実行すると、動的プロキシを取得し、ym DigitalOceanサーバーにアクセスします。この方法は100%機能します。 ただし、次の方法でchrontabをインストールすると、ubuntu PCが動的プロキシを作成しません。Google Chromeからこのプロキシを確認すると、プロキシが接続を拒否していると表示されているので、これを確認できます。 これが私がルーツのクローンジョブとして試したクローンジョブです。私もこれらを通常のユーザーとして試しましたが、それでも機能しませんでした。 @reboot bash /home/user/rev.sh @reboot /home/user/rev.sh @reboot cd /home/user && ./rev.sh 次に、現在時刻の数分前にchrontabをインストールし、それが実行されるのを待ちました。 24 12 8 * * * bash /home/user/rev.sh 24 12 8 * * * /home/user/rev.sh これらも実行されませんでした。 私が間違いを見つけられるように親切にしてください。私の問題について、このWebサイトには同様の質問がたくさんあります。私はそれゆえ多くの答えを参照してきましたが、それらのどれも役に立たないようでした。

1
cronジョブは、システム時間と完全に一致しないため、1時間オフで実行されます
問題の例: * 9 * * * echo 9 * 10 * * * echo 10 上記は毎分ユーザーにメールを送信しますが、「9」の応答はすべて10:00 AM-> 10:59 AMに発生し、「10」は11:00 AM-> 11:59 AMに受信されます。 。 のジョブを実行する * * * * * /bin/date ; /bin/date -u 予想される(正しい)日付と時刻を返しました。これはUTCと現地時間(アメリカ/デンバー)の両方に当てはまりました。特定の時間に毎分実行するようにこのジョブを変更すると、オフセットが発生します(9で実行するように指示されたジョブなど)。 私が完了した現在のデバッグ: さて、それは奇妙です。たぶん、私のタイムゾーンファイルがどういうわけか台無しにされていますか?それを確認しましょう diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone` Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical ハードウェアクロックをチェックして、これがオフになっていないか、ローカル設定(ルートとして実行)と何らかの形で一致していないかどうかを確認しました。 date ; …
9 cron 

1
ユーザーxはこのプログラム(crontab)を使用できません
Ubuntu 14.04 サービス(ログインなし)アカウント(という名前curator)のcrontabを設定したときの動作を理解できません。 rootとしてログインすると、次のようになります。 # crontab -u curator -l The user curator cannot use this program (crontab) しかし、ユーザーのアカウントに切り替えると、正常に機能します。 # su -s /bin/bash curator curator@host$ crontab -l no crontab for curator 空の/etc/cron.allowファイルがあり/etc/cron.deny、システムにファイルがありません。によるとman crontab: /etc/cron.allowファイルが存在する場合、このコマンドを使用できるようにするには、そこにリストされている必要があります(1行に1ユーザー)。/etc/cron.allowファイルは存在しないが、/ etc / cron.denyファイルは存在する場合、このコマンドを使用するには、/ etc / cron.denyファイルにリストされていてはなりません。 最初のコマンドを実行しているときのエラーを理解しましたcrontabが、ユーザーのアカウントに明示的に切り替えたときに実行できるのはなぜですか? にユーザーを追加すると/etc/cron.allow、両方のコマンドが正常に動作します。
9 ubuntu  cron 

1
将来の日付/時刻に実行するようにスケジュールされているcronジョブを見つけるX
crontabを「クエリ」して、任意の日付/時刻、または特定の時間帯に実行されているcronジョブを見つける方法はありますか? たとえば、今日の14:00から16:00の間に実行するか、次の土曜日の10:00に実行するか、または毎週日曜日に実行するかを決定します。 多くのジョブがスケジュールされているため、すべてのcrontabを手動で読み取ることは実際にはオプションではありません。
9 cron 

1
実行してから終了するCronjob
次のようなcronエントリを追加したいと思います。 00 00 * * * * /tmp/script.sh 行の最後に追加できるものはありますか?それが終了すると、それは私の行から行を削除しますか? また、それを行うためのより良い方法がある場合、代わりにその情報が間違いなく必要です。

2
「at」ジョブと「cron」ジョブの出力はどこに行きますか?
表示する画面がない場合、標準出力atとcronタスクはどこに行きますか? ジョブが開始されたディレクトリにも、ホームディレクトリにも表示されません。 バックグラウンドジョブをデバッグまたはトレースする方法がわからない場合、実際にこれを理解するにはどうすればよいですか?
9 cron  output  at 

2
crontabを編集するときにターミナルでemacsを開く
のemacsデフォルトエディタとしてセットアップしました/etc/profile。emacs端末で利用したい場合。-nwオプションで開きます。crontab -eウィンドウで開かないようにするときにどのように同じ動作をさせることができますか?
9 bash  cron  emacs 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.