tar -cvf
私はそれを殺すために使用する必要があります:を作成していますctrl-C
。私は1つを行い、Ctrl-Z
次に作業を前面に戻す必要があることを知っています。しかし、それは物語ではありません。
作業を中断したところから続行できますか?
答え1
このメソッドはtarアーカイブを再作成し、完成した部分を既存のファイルに追加します。これは、ネットワーク接続を介してバックアップする場合に便利です。 INFILESのデータが変更されると、アーカイブが破損する可能性があります。完了したら、保存をテストします。
次の行のINFILESとOUTFILEを正しい名前に変更します。
INFILES="my folder"; OUTFILE="archive.tgz"; SIZE="$(wc -c < $OUTFILE)"; tar -cz --to-stdout "$INFILES" | tail -c +$(($SIZE+1)) >> "$OUTFILE"
説明する:
SIZE="$(wc -c < $OUTFILE)"
#現在のアーカイブのサイズを取得します。
tar -cz --to-stdout "$INFILES" |
#アーカイブの作成を開始し、出力をコマンドにtail
送信します。
tail -c +$(($SIZE+1)) >>
#$ SIZE + 1より前のデータは無視され、残りのアーカイブファイル$ OUTFILEを復元します。
答え2
アーカイブが不完全な場合の対処方法は、tar
アーカイブにファイルのリストを作成することです。
tar tf archive.tar | sed -e '/\/$/d' -e x -e '/^$/d' >files-done
このsed
コマンドは、後ろにスラッシュがあるすべての行を削除します。これはファイルではなくディレクトリであり、このディレクトリを再ダンプし、最初のtarアーカイブにすでに存在するディレクトリのファイルだけをスキップしたいと思います。また、sed
最後のファイル名は部分ダンプである可能性が高いため、削除するため、再度アーカイブします。
次に、-Xオプションを使用してfiles-done
リストを新しいコマンドに渡します。tar
tar cfvX archive2.tar files-done SOURCEDIR
新しいtarコマンドで別の出力ファイル名を使用する必要があります。それ以外の場合は、アーカイブの一部を上書きします。破損したtarアーカイブに直接追加しようとしないでください。
答え3
最善の解決策はtarファイルを削除して再起動することですnohup
。&
またはtar -tfv
新しいtar -cvf
。
答え4
できません。再起動してください。