質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Q&A

解決済

2回答

841閲覧

tarコマンドの動作

taro373

総合スコア189

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

0グッド

1クリップ

投稿2019/08/07 03:27

編集2019/08/07 05:01

tar czvfと実行した際に、すぐにはテープへ書き込む動作が
開始されていないように見えます。(LTO装置のLEDが点灯したままです)
まず、圧縮を行なっているように見えます。

このとき、圧縮した一時的な結果はどこに出力しているのでしょうか。

NASにあるデータをテープにバックアップしようとしています。
サーバのディスクには、バックアップするデータを超える空き
ディスクはありません。
どのように処理されるのか、疑問に思いました。

ちなみに/tmpを見ましたが、直近のファイルは作成されてい
ませんでした。

圧縮しながらLTOへ書き込んでいるのでしょうか。

※ 実行したコマンドを追記するようご指摘いただきましたので追記します
バックアップするディレクトリのサイズが小さい時は、これで書き込みが
できました。
topコマンドで確認すると、ずっと gzip が実行されています。

$ sudo tar czf /dev/IBMTape0n -C /home hoge

vオプションをつければよかったのだと思います。
vオプションをつけて再実行すると、コンソース上にはファイル名が次々と
表示されます。その都度、テープに書き込んでいるのかもしれません。
LTO装置のLEDは点滅しなかったので、指定したディレクトリを全て圧縮して書庫に固めて
それからテープに書くのだろうかと思い質問しました。

どうやら、対象のディレクトリが大きいため、このような動きに見えるようです。
どのような動きを裏側でしているのか、ご存知の方がいらしたら教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazto

2019/08/07 03:33

実行したコマンドを追記してください。出力先に指定したデバイス名が間違っていれば、テープデバイスには書き込まれません。
guest

回答2

0

ベストアンサー

gzipが引数無しで子プロセスとして起動されていることから分かるように、tarフォーマットを作りつつ、それをパイプでgzipの入力に与えて、gzipの出力をテープに書いていると思います。
つまり、
tar czf /dev/IBMTape0n -C /home hogeは、
tar cf - -C /home hoge | gzip | dd bs=10240 of=/dev/IBMTape0n
と同等だと思います(tarのデフォルトブロックサイズは10240)。

投稿2019/08/07 14:18

otn

総合スコア84505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

bash

1$ man tar 2名前 3 tar - GNU 版 tar アーカイブユーティリティ 4 5書式 6 tar 7 [オプション...] [ファイル]... 8 9説明 10 GNU ‘tar’ は多くのファイルを一緒に単一のテープあるいはディスクアーカイブの中へ保存し、アーカイブからここのファ 11 イルを復元する。 12 1314 tar -cf archive.tar foo bar 15 # ファイル foo と bar から archive.tar を作成する。 16 17 tar -tvf archive.tar 18 # archive.tar 内のすべてのファイルの詳細を一覧表示する。 19 20 tar -xf archive.tar 21 # archive.tar からすべてのファイルを抽出する。 22 23・・・略・・・ 24 25 -z, --gzip, --gunzip, --ungzip 26 gzip 経由でアーカイブをフィルタする

「圧縮した一時的な結果」は、あるかもしれないが、仕様的に中間ファイルの保証はないので、どこにあるかは定かではありません。
その他、「動きを裏側でしているのか」どうしても知りたければ、ソースを取得して、中身を見るべし。
オープンソースなのですから。

投稿2019/08/07 06:05

showkit

総合スコア1638

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問