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

Cronは、Unixのようなコンピューターオペレーティングシステムでの時間ベースのジョブスケジューラです。Cronを使用すると、ユーザーはジョブ(コマンドまたはシェルスクリプト)を特定の時間または日付で定期的に実行するようにスケジュールできます。

6
隔週のcronjobをスケジュールするには?
crontab(5)は以下のフィールドを定義します: field allowed values ----- -------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names) と説明します: Step values can be used in conjunction with ranges. Following a range with ``/<number>'' specifies skips of …
10 cron 

1
FreeBSD:periodic(8)はうるさすぎます。どうすればノイズレベルを制御できますか?
FreeBSD&MacOSXには、periodic(8)ユーティリティが同梱されています。これは、ZFSファイルシステムチェック、セキュリティチェック、古いポートのチェックなどのシステム機能を定期的に実行するための、きちんと整理されたユーティリティのセットです。 問題は、過剰な情報を含む電子メールを定期的に送信しすぎることです。これは人々に電子メールを無視させます、そして私たちは定期的に見つけられた多くの問題を見逃します(8)。毎日のメールは1日に1回送信され、セキュリティのメールは1日に1回送信され、毎週および毎月のメールも定期的に送信されます。これらの電子メールには、次のような件名があります。 Subject: $HOSTNAME daily run output Subject: $HOSTNAME security run output Subject: $HOSTNAME weekly run output Subject: $HOSTNAME monthly run output 定期的な(8)から送信される電子メールの量を減らすにはどうすればよいですか? 以下に自分の答えを掲載しますが、他の人が何をしたかを確認したいと思います。 注:Linuxに関して、Linuxで同様の質問があります。logwatch(8)とcron.dailyはうるさすぎます。どうすればノイズレベルを制御できますか?

2
cronジョブが間違った時間に実行されるのはなぜですか?
Ubuntuサーバーで毎日実行するcronjobsセットアップがあります。 例えば。0 4 * * *コマンド 彼らは8時間早く実行していることを除いて実行しています。サーバーを設定するとき、最初はUTC時間に設定されていました。私は走ったsudo dpkg-reconfigure tzdata6時間のUTCの後ろにあるCSTにサーバーを設定します。興味深いことに、私はUTCから8時間遅れているPSTにいますが、サーバーがそれをどのように認識できるかわかりません。 コマンドを実行するとdate、CSTで時間が表示されます。 時間が正しく設定されていない場所があるはずです。これはどこで解決できますか?

3
cronを取得してHTML形式のメールを送信する
cronを介してログファイルで実行する統計プログラムがあります。統計プログラムはHTMLを出力できます。 現在、私はcrontabのMAIL_TOメカニズムに依存しています。 MAILTO=my@email.addr 55 23 * * * /usr/bin/htmlstats 問題は、送信された電子メールがプレーンテキストではなくHTMLとして表示されることです。 Cronは電子メールに次のヘッダーを配置します。 Content-Type: text/plain; charset="UTF-8" これをどのように変更するか考えています: Content-Type: text/html; charset="UTF-8"
10 email  cron 

1
サイズによってlogrotate-cronを変更する必要がありますか?
現在のlogrotate構成は次のようになります(logrotate 3.8.7を使用) "/var/log/haproxy.log" { daily size 250M rotate 1 create 644 root root missingok compress notifempty copytruncate } 1日に1回は正常に実行されますが、サイズが250Mを超えると回転しません。そのため、サイズに関係なく、1日の終わりまでローテーションします。 私はmaxsizeオプションがあることを読みました、そしてそれを変更size 250Mしmaxsize 250Mた後でもまだ動作しません。 1時間ごとにlogrotateを実行するようにcronを設定する必要がありますか?または、がそのファイルサイズをリッスンしているためにlogrotateが自動的に実行され、何か他の問題が発生していますか?
10 cron  logrotate 

3
find -deleteは問題なく動作しますが、cronでは動作しません
注意してください:私は同様の質問をすべて読みました。cron、パス、環境変数などですが、私の特定の問題の解決策を提供するものは見つかりませんでした。 私はいくつかのMySQLダンプを作成し、次のように古いものを削除するスクリプトを持っています。 /usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete (上記のコマンドは、コメントからの提案により、元のコマンドから変更されています) ただし、cronがこのスクリプトを実行しても、ファイルが削除されることはありません。cronユーザーはrootです。 デバッグに関する注意 コマンドが表示されているスクリプトを手動で実行すると、期待どおりにスクリプトが削除されます。 rootとしてコマンドラインから上記のfindコマンドを単独で実行すると、期待どおりに削除されます(-printを使用すると、期待どおりに5日より古いファイルのリストが返されます)。 また、ルートのcrontabに明示的なパスステートメントを追加しましたが 、何も変更されません。 Cronはエラーを送信しません。パイプを使って検索操作をログファイルに送信すると、ログファイルは 空になるか、まったく作成されません。 Ubuntuサーバー14.04.03 LTSを使用しています。
10 cron 

2
crontabがfopenで結果を一覧表示または編集する:権限が拒否されました
最近、ユーザーのcrontabから実行するように構成されたジョブが実行を停止しました。ユーザーのcrontabをリストまたは編集しようとすると、結果は次のようになります。 user@host:~$ crontab -l crontabs/user/: fopen: Permission denied user@host:~$ crontab -e crontabs/user/: fdopen: Permission denied 明らかにアクセス許可に関連していますが、アクセス許可がどのように変更されたかはわかりません。さらに重要なのは、アクセス許可を何に設定するかです。 / usr / bin / crontabの権限: $ ll /usr/bin/crontab -rwxr-sr-x 1 root libuuid 35896 Aug 24 2010 /usr/bin/crontab* / var / spool / cron / crontabディレクトリの権限: # ll /var/spool/cron/ total 12 drwxr-xr-x 3 root …

3
CentOSのlogrotateがランダムに実行されるのはなぜですか?
私はlogrotate構成ファイルを入れ/etc/logrotate.d/、ログが一定の時間にローテーションすることを期待しました。ただし、そうではありません...ログのローテーション時間は、ランダムに見えるようです+/- 1時間。 ログローテーションの開始時刻がランダムになるのはなぜですか、どうすれば変更できますか? 情報:私のlogrotate設定ファイルは次のようになります... /opt/backups/network/*.conf { copytruncate rotate 30 daily create 644 root root dateext maxage 30 missingok notifempty compress delaycompress postrotate ## Create symbolic links in daily/ PATH=`/usr/bin/dirname $1`; FILE=`/bin/basename $1`; /bin/ln -s $1 $PATH/daily/$FILE endscript }
10 linux  centos  cron  logrotate 

1
crontab出力のログで使用するDATE変数をどのように設定しますか?
私は次のような日付のいくつかのバリエーションで遊んでいました DATE = $(date) それでもうまくいきませんでした crontab -e CRONLOG=/tmp/log/crontab.log DATEVAR=`date +20\%y\%m\%d_\%H\%M\%S` * * * * * echo $DATEVAR >> /tmp/log/crontab.log */2 * * * * echo "$DATEVAR hello" >> ${CRONLOG} */1 * * * * echo 'every minute' >> ${CRONLOG} これはテキストをそのまま出力します... 各更新のタイムスタンプを含むログエントリをcrontab.logに作成したい CentOS 6でこれを行うにはどうすればよいですか? 更新 DATEVAR=date +20%y%m%d_%H%M%S */1 * * * …
10 centos  logging  cron  centos6  date 

2
cronで90分ごとにタスクを実行する
90分ごとに実行されるようにcronジョブを調整しようとしています。以前は20分ごとに実行されていましたが、これは単純なcronジョブでした。 */20 * * * * whatever 90ごとに変更するには、2つのジョブに分割する必要があるようです。これを行いました。 0 0,3,6,9 * * * whatever 30 1,4,7,10 * * * whatever これは正しいですか?仕事は始まったようではない。

4
ファイルが変更されたときにコマンドを実行する
.csvファイルを特定のフォルダー/ tmp / data_uploadに毎日アップロードしていて、古いファイルが新しいファイルに置き換えられるシナリオがあります。 データがアップロードされたら、Pythonスクリプトを実行する必要があります。このために、cronジョブを作成し、ファイルの変更を監視するというアイデアがあります。私はinotifyを使ってみましたが、Unixドメインにはあまり慣れていません。どうやってやるの? / tmp / data_uploadなどのアップロードフォルダー内のファイルの日付が変更されたら、スクリプトtest.pyを実行する必要があります。

3
cronでの文字のエスケープ
次のコマンドプロンプトから期待どおりに動作します。しかし、それはcronからは機能しません。 mysqldumpslow <(tail -1000 `mysqladmin variables \ | grep slow_query_log_file | awk '{print $4}'`) \ | mail -s "slow log from `hostname` sorted by time" shantanu.oak`hostname`@gmail.com \ > /root/slow_succ.txt 2> /root/slow_err.txt 次のエラーが発生します。 /bin/sh: -c: line 0: syntax error near unexpected token `(' 特定の文字をcronでエスケープする必要がありますか?それともcronのサブシェルの問題ですか?
9 cron 

5
chmod / chownを実行するcronジョブの設定
ディレクトリ(ドロップボックスディレクトリ)でchmod / chownを繰り返し行うcronジョブを設定したいと思います。 これは、次のようにコマンドを手動で実行すると機能します。 sudo chown -R $USER ~/Dropbox sudo chmod -R u+rw ~/Dropbox 私はそれを次のようなcronジョブに変換しようとしました: 10 * * * * sudo chown -R $USER ~/Dropbox しかし、それは仕事をしていないようです。 これを行う方法?

4
crontabの分析と最適化[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 crontabの実行をグラフ化、分析、最適化するためのツールはありますか? 明確にするために、cronジョブが実行されたときのグラフを生成し、システム管理者がそれらをスマートに再編成するのに役立つツールを考えています。
9 linux  unix  cron 

5
毎分cron、単一のインスタンスのみを保証
スクリプトを毎分(または2または5など)実行する方法はありますが、まだ実行されていない場合に限られますか? 毎分実行する必要があるスクリプトのセットがあります。場合によっては、1秒で開始および終了することもあれば、5分間続くこともあります。 同時実行を回避する現在の方法はis_running、各スクリプトにフラグを設定し、それがまだ有効になっている場合は終了することです。ただし、これは少し信頼できません(つまり、致命的なエラーが発生すると、スクリプトが停止した後でもフラグが有効のままになります)。 独自の小さなマネージャーを作成することもできますが、もっとファッショナブルなソリューションがすでに存在するかどうか疑問に思っています。
9 linux  cron 

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