質問: Solaris9で/var配下を定期的にバックアップしたいと考え、 cronにて以下のようなコマンドを含むスクリプトを実行しています。 /usr/bin/tar cEfiX /backup/var_backup_`date '+%w'`.tar ${EXFILE} -C / ./var しかし、/var配下に常時書き込みされているログファイルがあり、 tarがreturncode=1で終了してしまいます。 その際のエラー出力は以下で、 tar: ./var/hogehoge.log: file changed size tarファイルに加える前と後で./var/hogehoge.logのファイルサイズが違っている という内容だと認識しています。 ※このファイルはバックアップの必要があるファイルでexcludeリストに加えるわけにもいきません。 tarコマンドの後に if [ $? != 0 ] という条件式を置いてエラーを検知しています。 何とかこのエラーだけを無視する妙案はありませんでしょうか?
回答: 全く別なアプローチですが Solaris9 では Volume Manager( 旧名Disk Suite )がパッケージされているので、RAID 1(ミラー)を構成しコピーが必要になった時にミラーを切り離してアクセスがない静的なファイルをコピーするという方法もあります。 コピー終了後は、切り離したミラーを接続すると自動的にオフラインの間の差分は展開されるのでユーザーの負担はありません。