LoginSignup
1
1

More than 5 years have passed since last update.

1時間に1回程度でランダムでサイトへアクセスするcron設定をワンライナーで

Posted at

cron って何て呼ぶ派?

「クーロン」ですかね。

注意と警告

  • 実行結果については自己責任で
  • アクセス先や頻度によっては「攻撃」とみなされて、不正アクセスなどで逮捕されるので注意
  • あくまで「1時間に1回程度」なので、運が悪いといつまでも実行されないし、良すぎるとたくさん実行される
  • アクセス結果は取得するが、アクセスしなかった場合のログは残らない

用途

ツイッターのBOT(発言、フォロー)など、定期的に実行したいが、ある程度自然な感じを出したい場合。

こんな感じ

02-58/7 * * * * /usr/bin/test $( expr $RANDOM \% 6 ) -eq 1 && curl -sf http://test.com/ | head -n 1 >> /home/user/cron.access.log

大意

毎時2〜58分の間に7分おきに以下のものを実行する ( 9, 16, 23, 30, 37, 44, 51, 58 )。
0〜6 の数字をランダムに取得し、1と等しければ、 http://test.com にアクセスする。
アクセスした場合、取得された結果 (大抵は HTML) の先頭1行を /home/user/cron.access.log というファイルに出力(2回目以降は下に改行して追記)

カスタマイズのポイント

  • 02-58/7 : 2〜58分の間7分ごとに起動されるので、ここで頻度を調整する
  • 6 : この数字を大きくすることで頻度が下がり、小さくすることで頻度が上がる (0は禁止)
  • http://test.com : アクセス先の URL なので、任意に変更する
  • head -n 1 : 先頭の1行という意味なので、1を他の数字にしたり、head を tail にしたり
  • /home/user/cron.access.log : 結果を保存するファイルなので、任意に変更する

ファイル出力が不要な場合は | head -n 1 >> /home/user/cron.access.log> /dev/null に変更する

備考

細かいことはグーグル先生や本物のシェルスクリプターさんに聞いてください。
ただの自分用のメモなので、ツッコミどころはあるかと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1