【今日中に解答が頂けるとありがたいです】
ある処理を、毎分行う必要があります。
これを実現するため、次のようにcrontabの記述を行いました
crontab
1*/1 * * * * /path/to/script/myscript.sh
myscript.sh
1#!/bin/sh 2 3echo "start `date '+%Y-%m-%d %H:%M:%S'`" >> /path/to/project/log/runtime.log 4 5curl -s https://www.example.com/data.txt > /path/to/project/data/data.txt; 6 7echo "end `date '+%Y-%m-%d %H:%M:%S'`" >> /path/to/project/log/runtime.log
今回、この処理を毎分50秒時に行うことになりました。
cronは秒単位での指定ができないので、sleepコマンドを使うことになると思います。
myscript.sh
1#!/bin/sh 2 3echo "start `date '+%Y-%m-%d %H:%M:%S'`" >> /path/to/project/log/runtime.log 4 5sleep 50 6 7curl -s https://www.example.com/data.txt > /path/to/project/data/data.txt; 8 9echo "end `date '+%Y-%m-%d %H:%M:%S'`" >> /path/to/project/log/runtime.log
私が心配しているのは、このsleep処理によって、他のサーバー処理に影響を与えるかどうかです。
cron記述は他にも動いているものが多数あり、私のcron処理はそれらの最後に実行される予定です。
crontab
1*/1 * * * * /path/to/script/another-script-a.sh 2 3*/30 * * * * /usr/bin/php /path/to/html/another-script-b.php 1> /dev/null 4 50 8 10 12 * /path/to/script/another-script-c. 6 7*/1 * * * * /path/to/script/myscript.sh
私がsleepコマンドで処理を50秒遅延させることで、他の処理も50秒遅延したりはしないでしょうか?
ネットで回答を探しましたが、これといったものがなくて困っています。
回答2件
あなたの回答
tips
プレビュー