by 唐草 [2023/08/03]
今日は”/”(スラッシュ)一文字に振り回された。
バックアップにrsyncというコマンドを使っている。オプションを組み合わせることで複雑なバックアップもできるが、ミスると全消しの可能性もある。だから、このコマンドを使う時はいつもドキドキハラハラすることになる。
書類フォルダをUSBメモリにコピーするならこんな感じになる
rsync -arvh /home/hoge/Douments /mnt/USB_drive/
だが、もし次のように書いてしまうと上のとは別の結果になる。
rsync -arvh /home/hoge/Douments/ /mnt/USB_drive/
間違い探しレベルで似た2行。違いは書類フォルダ末尾の”/”の有無だけ。だが、侮ってはいけない。”/”の有無が重要なのだ。
片方はUSBドライブへ書類フォルダをコピーする。もう一方は、USBドライブへ書類フォルダの中身をコピーする。バックアップ対象がフォルダごとなのか中身だけなのかが末尾の”/”の有無で決まる。
たった一文字でバックアップのデータ構造に大きな違いが生まれる。だから慎重にならないといけない。
ここまで理解していても、なお問題がある。
違いが”/”の有無で生まれるのは分かっているが、”/”の有無でどちらの結果になるのかが全然覚えられない。特にこの手のコマンドは、一度設定したら使い回すことがほとんど。直に打つのは1年に1度あるかないか。覚える前に忘れてしまう頻度だ。
コンピューターなんだから考える前に試せという積極的な意見もあるだろう。ぼくだって多くの場合はエラーを恐れずそうしている。
でも、バックアップだけは話は別。向こう見ずなポジティブさは危険なのだ。最悪ファイルを完全に消し去ってしまう可能性がある。そこまで酷いことにならなくても、合計で数十GBにもなる何万ものファイル、今回は7万ファイル11.2GBをコピーするとなるとかなり時間がかかる。見切り発車はあまりにも危険だ。
だから、rsyncコマンドを使う時はいつも”/”一文字に振り回されてドキドキしている。