ターミナルに過去打ち込んだコマンドをcronで自動記録してみた
結論
ターミナルに打ち込んだコマンド履歴を自動で取得してGithubのリポジトリにpushするようにした
目的
- 作業の振り返りをしやすくしたい
- コマンドのメモを手動で取るのは面倒だし忘れがち
- 自動化したい
詳細
- 実行環境 Centos7.7
コマンド履歴を記述するシェルスクリプトの作成
#!/bin/sh cd /home/{ユーザー名}/memo history -r ~/.bash_history history -a history > history_$(date '+%Y%m%d').log git add history_$(date '+%Y%m%d').log git commit -m "history_commit" git push
cronie-noanacronの導入
- 指定時間ちょうどにジョブを実行させるにはcronie-noanacronをインストール必要があるので導入
- cronie-anacronが既に入っていますが、アンインストールします
sudo yum -y install cronie-noanacron sudo yum -y remove cronie-anacron
crontabの設定
- crontabで定期実行のタイミングと、実行対象のファイルを指定
sudo crontab -u {ユーザー名} -e
- エディタが開くので以下を記述。毎日19時にtask.shを実行するよう今回は指定
0 19 * * * /home/{ユーザー名}/memo/task.sh
結果
こんな感じでリポジトリに過去のコマンド履歴を保管できます