Rync'i nasıl duraklatabilir / devam ettirebilirim


49

Çalışan bir rsync'i nasıl duraklatabilirim?

İlk defa öldürmek için Ctrl+ yaptım Cve -Pbayrağı tekrar koşmak için kullandım . Bu, mevcut dosya transferini bozmaya meyilli midir?

İkinci kez MacOS'u uyku moduna geçirdim (kapağı kapatarak). Çalışan işleme baktığımda 'S' statüsünde 2 (neden olduğundan emin değilim) görebilirsiniz.

Kullanarak denenmiş

kill -SIGCONT

Süreci devam ettirmek için, ancak hiçbir etkisi yoktur.

Yanıtlar:


61

Herhangi bir programı, bir TSTP(kibar) veya STOP(zorunlu) bir sinyal göndererek duraklatabilirsiniz . Terminalinde, çalıştırdığınız rsyncbasılması halinde Ctrl+ Zgönderir TSTP. İle devam edin fgveya bgterminal veya bir komut CONTsinyali.

Bir rsync işlemini öldürmek ve her şeyi tekrar çalıştırmak güvenlidir; kaldığı yerden devam edecek. Özellikle eğer geçmediyseniz --partial(dahil edildi -P) biraz verimsiz olabilir , çünkü rsynctüm dosyaları tekrar kontrol eder ve üzerinde kesildiği dosyayı işleme koyar.

Bazı dosyaların doğru şekilde senkronize edilmemesine, belki de --inplacebaşka bir şeyle sonuçlanmasına neden olacak alışılmadık seçenek kombinasyonları olabilir , ancak tek bir seçeneğin buna yol açmayacağını düşünüyorum.

Dizüstü bilgisayarınızı çıkarır ve başka bir yere yeniden bağlarsanız, farklı bir IP adresi alabilir. Ardından, rsync tarafından kullanılan TCP bağlantısı kesilecektir, bu yüzden onu öldürüp yeniden başlatmak zorundasınız. Dizüstü bilgisayarınızı askıya alırsanız ve TCP bağlantısı zaman aşımına uğrarsa bu da olabilir. Zaman aşımı sonunda uygulama seviyesine göre filtrelenir, ancak biraz zaman alabilir. Ctrl+ CTuşlarına basıp tekrar rsync çalıştırmak güvenlidir .


1
Aslında öldürmek rsync -avh, kopyalanmakta olan geçerli dosyayı kaybetmek, eğer büyükse, çok zaman kaybedersiniz. Belki Ctrl+zgeçici dosyayı taşımak (bir nokta ile başlamak) ve sonra Ctrl-Crsync daha iyi bir çözüm olabilir.
malat

Böyle ayrıntılı bir açıklama için teşekkür ederiz. Netleştirmek için: ctrl + z duraklatmak, devam etmek için fg, durdurmak için bg.
Praesagus

3
@Praesagus bgsüreci koymak b bildirim g yuvarlak durdurmak için.
Jari Keinänen

--partialihtiyacım olan şey. 21GB veri kopyalamaya çalışıyorum ve bunlar arasında 6.6GB dosyam var. Sorun ağın birkaç GB veri aktarımından sonra bağlantımı kesmesidir --partial.
AnthonyD973

20

Ctrl+ Zaskıya almak ve

$ fg

devam etmek

$ jobs

askıya alınmış işleri görmek için; bg [number]onları arka planlamak; fg [number]ön plana çıkarmak için.


2
Ctrl+Syalnızca kaydırma çıktısını askıya alır, temel programı değil (terminalin çıktısını kabul etmesini beklerken engellenmediği sürece) ve yalnızca devre dışı bırakmadıysanız.
Gilles 'SO- kötülük'

1
Mevcut 'S' durumu ile devam etmez. Ctrl + C kullanarak onu öldürmek ve tekrar rsync çalıştırmak güvenli midir? Başka hangi seçeneklere sahibim? Bir dahaki sefere aklında olacak, teşekkürler.
qnoid

1
Ayrıca, bir işlemi askıya almak için Ctrl-Z'nin bir süre sonra bu program tarafından kurulan herhangi bir TCP ağ bağlantısının zaman aşımına uğraması muhtemel olduğunu unutmayın. Böylece, bir rsync'i birkaç dakikadan daha uzun bir süre askıda bırakmak çok büyük olasılıkla, ön plana geri koyduğunuzda bir hata mesajı ile aniden çıkmasına neden olur ve açılan soketlerinin okuma ve yazma hatalarını döndürdüğünü bulur.
Jim Dennis,

8

Run rsyncile --partialbayrak. Daha sonra kısmi transferleri sürdürecek ve başlatıldığında kısmi dosyaları devam ettirecektir.


5

Buradaki insanlar --partialbayrak eserlerini kullanarak bahsetmişlerdir, ancak sadece devam ederken --appendveya --append-verifybayrak kullanıldığında devam ettiği söylenmelidir .

--partialEşitleme işlemini tamamlamayan bir gizli dosya oluşturur, eşitleme işlemini durdurduğunuzda dosya tutulur. Devam --appendettikten sonra kullandığınızda dosyayı tamamlamaya devam eder, aksi halde kullanmadığınızda --append, eksik gizli dosya saklanır ve tamamlanmaz.

Sonuç: Sadece kesebilir rsync --partialkullanarak Ctrl+ Ckullanırsanız rsync --appendsürdürürken

(Kaynak: rsync yarıda kesildikten sonra devam edebilir mi? 5 nisan 2016 alındı)


öyleyse kullandıysam rsync --avP <source> <destination>, CTRL + C ile duraklatmam ve sonra sadece yazarak devam etmem gerekiyor rysnc --appendmu?
kingmakerking

@kingmakerking evet
Mehdi Nellen

@ kingmakerking: Hayır. Hala ilk rsync'inizin seçeneklerine, kaynak ve hedef seçeneklerine ihtiyacınız var. Devam etmek için, önceki rsync komutunuzu yeniden başlatıp mevcut seçeneklere ekleyin --append .
mivk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.