2016年03月03日
バックアップは重要ですね。
パソコンを使っていると思わぬ事でファイルが消えてしまい泣くことがあります。
こんな痛い経験を何度かするうちに自然とバックアップを取るようになります。
今、孫がいるんですが、きのう柱に頭をぶつけて泣いていました。
こんな痛い思いをしているうちに気をつけるようになり自然と頭をぶつけなくなるんですね。
人間の成長っていくつになっても同じなんですね。
Linux の場合バックアップを取るのは tar コマンドが便利です。
そこで、複数の拡張子のファイルを一度に tar でバックアッするシェルスクリプトです。
find . \( -name "*.c" -or -name "*.h" -or -name "makefile" \) -print0 | tar -czvf cgi.tar.gz --null -T -
少し、解説をします。
まず find でバックアップしたいファイルを抜き出します。
この時いろんな拡張子を持ったファイルを探したいのならこのように書きます。
-name "*.c" の書式を -or で複数指定します。
全体を ( ) で囲むところがみそです。
これをパイプで tar に渡してやります。
find の -print0 のオプションは NULL で区切られたファイル名を出力する事を意味しています。
tar の -null は入力ファイル名が NULL で区切られている事を示し
-T - は標準入力からファイル名を取り込む事を示しています。