今日は中秋の名月だとか、どうりで朝から体毛がよく伸びるが図です。こんにちは。岩本@サーバー事業部です。
Linuxサーバーで差分バックアップを行う際、findを使って差分ファイルを抜き出し、
tarで圧縮をするのが一般的かと思います。
1日以内の更新ファイルを見つけて、tarで圧縮
find $BACKUPDIR -mtime -1 -type f | xargs tar czvf /misc/backup/backup_daily.tar.gz
しかし、上記だとファイル名にスペースや文字化けが入っていると、xargsがクォート処理されていないため
うまく動いてくれません。
そこでっ
find $BACKUPDIR -mtime -1 -type f -exec tar czvf /misc/backup/backup_daily.tar.gz “{}” ;
でも、これだと、検索アイテム毎に処理を行うのでリソースを食いますし、
元ファイル毎に圧縮ファイルが上書きされていきます。(tarのオプションで上書きは解消できるはず?)
で、色々と調べていくと、おしりの”{}” ;を”{}” +と変更することで、逐次ではなく、検索結果をまとめて処理してくれるとか。
find $BACKUPDIR -mtime -1 -type f -exec tar czvf /misc/backup/backup_daily.tar.gz “{}” +
とゆうわけで、xargsとexecの覚書です。
最近のコメント