手順07-backupコマンドの説明

eyech_nas NAS
eyech_nas

openmediavault内スケジュールタスクを利用し、rsyncを使って履歴差分バックアップを取得する手順を前ページで説明しました。

rsync -avh /srv/dev-disk-by-uuid-xxxx/docs/ /srv/dev-disk-by-uuid-yyyy/docs_BK/latest
rsync -avh --link-dest=../latest /srv/dev-disk-by-uuid-xxxx/docs/ /srv/dev-disk-by-uuid-yyyy/docs_BK/temporary && echo && mv
-v /srv/dev-disk-by-uuid-yyyy/docs_BK/latest "/srv/dev-disk-by-uuid-yyyy/docs_BK/backup-$(date +%Y%m%d-%H%M%S)" && echo && mv
-v /srv/dev-disk-by-uuid-yyyy/docs_BK/temporary /srv/dev-disk-by-uuid-yyyy/docs_BK/latest

rsyncでは上記を設定することにこちらのようなバックアップ履歴を取得できるようになります。

常に最新のデータを1フォルダにバックアップするようにしますが、
ハードリンク構造のため、変更があった分のみディスク容量増加に影響する形です。

コマンドの解説です。スペース毎に区切ります

コマンドの分解

rsync -avh /srv/dev-disk-by-uuid-xxxx/docs/ /srv/dev-disk-by-uuid-yyyy/docs_BK/latest

まずはフルバックアップをとります。latestフォルダに同期させます。
尚、-avhに関して、https://atmarkit.itmedia.co.jp/ait/articles/1702/02/news031.html#opt
こちらがわかりやすいです。尚、 -avhn で最後に”n”を追加するとdryrunモードになるので、テスト時は利用してみてください。

履歴差分コマンドを分解はじめます。

--link-dest=../latest /srv/dev-disk-by-uuid-xxxx/docs/ /srv/dev-disk-by-uuid-yyyy/docs_BK/temporary

3つのパス指定があります。
docs フォルダとtemporary(ここは空)を比較して(rsyncして)、docsにあるものをtemporaryフォルダに同期します。その際、lastestフォルダにあ
るファイルにはハードリンクが張られることになります。

ハードリンクの参照方法に関して

ファイルごとにハードリンクが何個存在するかを確認するには、こちらを参照してみてください。
構造の理解に役立つと思います

&& echo && mv -v /srv/dev-disk-by-uuid-yyyy/docs_BK/latest "/srv/dev-disk-by-uuid-yyyy/docs_BK/backup-$(date +%Y%m%d-
%H%M%S)"

&& echo && はコマンド結合しているだけです。echoをいれているのは、当コマンドをメール出力する際に改行されて見やすいためです。
それ以外で実施しているのは、latestフォルダを日付フォルダに変更して、過去の履歴の蓄積とします。

&& echo && mv -v /srv/dev-disk-by-uuid-yyyy/docs_BK/temporary /srv/dev-disk-by-uuid-yyyy/docs_BK/latest

最後に、temporaryフォルダを新たなlatestフォルダとし、次のバックアップコマンドのハードリンクの際に利用される形となる状態とします。。
次は 撮りためた動画を再生する方法について解説していきたいと思います。