ブログ

読んで思い出す。忘れるために書く

いつもの手作業(gem update)を自動化する(cron)

いつも gem のアップデートとか、Vim プラグインのアップデートとか、手作業でやってる気がするので、それをやめたい

まとめ

3回以上、なにかしら繰り返し作業しているものがあれば、たとえば cron に実行を任せることで省力化していきたい

概要

おおまかな手順として:

  1. 定期実行させたい処理を記述した ShellScript を書く
  2. 適当な場所に保存
  3. cron に設定を書き加えて(crontab -e)、定期実行させる

作業

  • スクリプト書く/保存する(/home/__my_name__/.local/bin/usual_update.sh):
#!/bin/bash

set -e # なにかエラーがあったらその時点で処理をやめる

# ここでは anyenv, rbenv 有効化で必要
source /home/__my_name__/.bashrc

# いつもの手作業をここに記述
anyenv update
yes | rbenv each gem update
rbenv each gem update --system
vim +PluginUpdate +silent +qall
  • crontab -e で設定開始、追記する:
30 */3 * * * /home/__my_name__/.local/bin/usual_update.sh

たとえば crontab -e -u $(whoami) とすると、誰として実行するのかも明示できていいかもしれない( 詳細は man crontab 参照のこと)

crontab.guru を見ながら設定値を決めると、実際の設定値はどういう意味なのか、すぐに確認できて分かり易しい

Link