Yapıyordum: tar -cvf
ve onu öldürmek zorunda kaldım ctrl-C
. Yapmalıydım Ctrl-Z
ve sonra görevi ön plana getirmeliyim ... ama hikaye değil.
Görevi durdurduğum noktadan devam edebilir miyim?
Yapıyordum: tar -cvf
ve onu öldürmek zorunda kaldım ctrl-C
. Yapmalıydım Ctrl-Z
ve sonra görevi ön plana getirmeliyim ... ama hikaye değil.
Görevi durdurduğum noktadan devam edebilir miyim?
Yanıtlar:
Bu yöntem, katran arşivinizi yeniden oluşturur ve bitmiş parçayı mevcut dosyaya ekler. Bir ağ bağlantısı üzerinden yedekleme yapıyorsanız bu yararlı olabilir. INFILES'ınızdaki verilerden herhangi biri değiştiyse büyük olasılıkla bozuk bir arşive neden olursunuz. Tamamlandıktan sonra arşivinizi test ettiğinizden emin olun.
INFILES ve OUTFILE dosyalarını aşağıdaki satırdaki doğru adlarla değiştirin.
INFILES="my folder"; OUTFILE="archive.tgz"; SIZE="$(wc -c < $OUTFILE)"; tar -cz --to-stdout "$INFILES" | tail -c +$(($SIZE+1)) >> "$OUTFILE"
Açıklama:
SIZE="$(wc -c < $OUTFILE)"
# Arşivin geçerli boyutunu alın.
tar -cz --to-stdout "$INFILES" |
# Arşiv oluşturmaya başlayın ve tail
komutu komuta gönderin .
tail -c +$(($SIZE+1)) >>
# $ SIZE + 1 öncesindeki verileri dikkate almayın ve geri kalan $ OUTFILE arşivine devam edin.
En iyi çözüm, tar dosyasını silmek nohup
ve eklenmiş ve eklenmiş işlemi yeniden başlatmak olacaktır &
. Alternatif olarak, bunu çalıştırıp tar -tfv
yeni için hariç tutma olarak kullanabilirsiniz tar -cvf
.
tar -cvf
mevcut dosyanın üzerine yazacaktır. Bunu mu demek istediniz tar -rvf
? Ayrıca, arşive yazılan son dosya büyük olasılıkla tamamlanmamıştır.
tar -rvf
?
Eksik bir tar
arşivim olması durumunda, arşivdeki dosyaların bir listesini oluşturuyorum:
tar tf archive.tar | sed -e '/\/$/d' -e x -e '/^$/d' >files-done
sed
Bu dizinler değil, dosyalar, ve biz tekrar dizinleri dökümü ve sadece biz ilk katran arşivinde zaten sahip olduğunu, o dizinlerde bu dosyaları atlamak istiyorum: komut tüm eğik çizgi bulunduran bu satırları siler. Ayrıca, sed
son dosya adını silmeye izin veriyoruz , çünkü bu büyük olasılıkla sadece kısmen dökülmüş, bu yüzden tekrar arşivleyeceğiz.
Sonra files-done
listeyi -X seçeneği ile yeni bir tar
komuta iletin :
tar cfvX archive2.tar files-done SOURCEDIR
Yeni tar komutunda farklı bir çıktı dosya adı kullandığınızdan emin olun yoksa kısmi arşivinizin üzerine yazarsınız. Bozuk katran arşivine doğrudan eklemeye çalışmayın.