- - PR -
tar cvfコマンドについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-05 22:44
nakamuraと申します。
サーバのあるディレクトリのバックアップを行おうと思い、tarコマンドを実行する際に あるディレクトリ以外でかつ、あるファイル以外をDATテープに吸い上げるコマンドを発行したのですが、そんなファイルまたはディレクトリは存在しないというエラーになってしまいます。きっと、書き方がおかしいと思うのですが、なにぶん初心者な者でどなたかご教授願いますでしょうか?以下のコマンドを発行するとエラーします。 tar cvf /dev/nst0 *[!lost+found][!*.ctl] >> bu.log 2>> bu.log lost+foundというディレクトリ以外でかつ.ctlと名のつくファイル以外すべてを吸い上げたいです。 Linuxサーバのバージョンは Miracle Linux Standard Edition V2.1 (Styrax)です。 |
|
投稿日時: 2006-12-05 22:56
こんばんは。
単なる shell の問題とも思わなくも無いですが。 やすけ様の環境で *[!lost+found][!*.ctl] を単純に ls で指定して、リストが取得できますか? 無理であれば、tar でも無理かと。 B 系や C 系の書き方もあると思いますが、 コマンド1行でやるにはそれなりな工夫が必要かと思います。 シェルスクリプトで find と grep の組み合わせなら出来そう。。。 |
|
投稿日時: 2006-12-05 23:53
tar cvf /dev/nst0 * --exclude '*.ctl' --exclude lost+found
|
|
投稿日時: 2006-12-07 11:25
あるかなさん、F/Aさん早速のレスありがとうございます。
お返事が遅れて申し訳ありません。F/Aさんの方法でやってみたら出来ました。 ありがとうございます。ただ、疑問なのはこれはLinuxでのコマンドでしょうか? ちなみにUnixでは私の方法で既に本番機サーバにて運用されています。 |
|
投稿日時: 2006-12-07 11:50
--excludeはGNU tarで使えるオプションだった気がします。
#LinuxはGNU tarを利用しているので、--excludeが使えます その為、UnixでもGNU tarを利用しているかで変わります。 私の経験ではSolarisであればディフォルトではGNU tarは導入されておらず、 GNU版では無いtarコマンドであるため、--excludeは使えません。 (※別途インストールする事は可能です) ただ、GNU版ではないtarについても、exclude-listというオプションが使える為、 下記のような対応をしました。 除外リストファイルの作成 # vi exclude-list → tar cfの際に除外したいファイルリストを作成 # tar cf /dev/rmt/0 exclude-list <バックアップ取得対象> 参考になれば幸いです。 |
|
投稿日時: 2006-12-13 11:49
くろねこさんお返事が遅れて申し訳ありません。
exclude-listについては、今回は試してみてませんが、 GUI版じゃないtarの際はぜひ使用してみたいと思います。 本当にありがとうございました。 |
1