じゃあ、おうちで学べる

本能を呼び覚ますこのコードに、君は抗えるか

バックアップ自動化に関すること

[ストーリー]

私の経験では技術や知識がない人ほどバックアップを取りません。

そして何度、言ってもバックアップを取ってくれません。

そんな、卒研をお手伝いした先輩方をどうやってサポートしたかをブログに書いておきますします。

僕がお手伝いをしたチームの中でこういった言葉がよく出ていました。

「さっきまで上手くいってたのにな~」

切り戻しがしたくてもバックアップもとっておらず復旧作業に無駄な時間を使ったり…。 

そんなこんなでバックアップの必要性が…

 

cronで定期的にバックアップを取るよりも変更や削除や追加を監視してその都度、バックアップをとった方がよいと考えたのでググった。

inotifywaitというドンピシャなツールが見つかった。

[inotifywaitの使い方]

ダウンロードしてman コマンドを見てほしい。

[実際の運用コードは…]

先輩達が卒研と共に闇に葬り去った。

[学習用ブログなのでとりあえず、書く]

監視される側のファイル

$cat out.bash

#!/bin/bash

cat data | awk '{for(a=1;a<=NF;a++){if($a%2==0){print $a,"偶数"}else{print $a,"奇数"}}}'|xargs -n 10

 

 

監視用スクリプト(かなり雑で使えたものではない) 

ファイルは同じ場所に置いています。

$cat backup.bash

#!/bin/bash

while :; do #while :で無限ループ
inotifywait -e MODIFY ./out.bash #プロセスの監視
cp -b out.bash ./backup/aaa #変更前
inotifywait -e close_write ./out.bash #プロセスの監視
cp -b out.bash ./backup/bbb #変更後
done

 

一応、書き込んだり読み込んだりしても一回前に切り戻しは出来ます。

 

[まとめ]

実際に運用していたコードは先輩達の卒研と共に消え去りましたので公開できませんがファイルやディレクトリが監視出来てその都度アクションが起こせるということを知っていただいて何かの役に立てたらと思います。

 

 

参考にしたサイト

Linuxコマンド集 - 【 cp 】 ファイルやディレクトリをコピーする:ITpro

Linuxでファイル・ディレクトリ監視を行う『inotify』 | 俺的備忘録 〜なんかいろいろ〜