业精于勤,荒于嬉;行成于思,毁于随。
スクリプトに「ロック ファイルを削除し、新しいロック ファイルを作成する」というステートメントを追加することで、上記の問題を解決しました。ロックファイルが新しくなるたびに crontab がトリガーされることがわかりました。
画像からわかるように、現在時刻が 499 であることが検出されると、nginxchen.sh というスクリプトがトリガーされます。このスクリプトの実行時間は約 8 分です。
正直に言うと、あなたの具体的な理由がわかりません。文を借りれば、実践が真実をテストする唯一の基準であるため、投稿者のシナリオをシミュレートしました。
1. 2 分以上実行するスクリプトを作成し、
2. crontab に入れます*/1 * * * * flock -xn /root/xx.lock -c 'sh /root/xx.sh >>/tmp/xx.log 2> &1 '
3. crontab の実行内容を表示します
元の投稿者が指摘した問題は存在しないことがわかります
そこで、次の提案を行います。 1. 短いスクリプトを作成し、サーバーでテストして、状況が同じかどうかを確認します。2. /mnt/499.log ログ。異常な出力はありません3. プロセスが実行中であるか、停止しているために crontab がロックを取得できていないか確認します。
投稿者自身が理由を見つけたら、忘れずに投稿してください
スクリプトに「ロック ファイルを削除し、新しいロック ファイルを作成する」というステートメントを追加することで、上記の問題を解決しました。ロックファイルが新しくなるたびに crontab がトリガーされることがわかりました。
画像からわかるように、現在時刻が 499 であることが検出されると、nginxchen.sh というスクリプトがトリガーされます。このスクリプトの実行時間は約 8 分です。
正直に言うと、あなたの具体的な理由がわかりません。文を借りれば、実践が真実をテストする唯一の基準であるため、投稿者のシナリオをシミュレートしました。
1. 2 分以上実行するスクリプトを作成し、
を実行します。2. crontab に入れます
*/1 * * * * flock -xn /root/xx.lock -c 'sh /root/xx.sh >>/tmp/xx.log 2> &1 '
3. crontab の実行内容を表示します
元の投稿者が指摘した問題は存在しないことがわかります
そこで、次の提案を行います。
1. 短いスクリプトを作成し、サーバーでテストして、状況が同じかどうかを確認します。
2. /mnt/499.log ログ。異常な出力はありません
3. プロセスが実行中であるか、停止しているために crontab がロックを取得できていないか確認します。
投稿者自身が理由を見つけたら、忘れずに投稿してください