it-swarm-id.com

Bagaimana saya bisa menjeda / melanjutkan rsync

Bagaimana saya bisa menjeda rsync yang sedang berjalan?

Pertama kali saya lakukan Ctrl+C untuk membunuhnya dan menggunakan -P beri tanda untuk menjalankan lagi. Apakah ini cenderung merusak transfer file saat ini?

Kedua kalinya saya cukup menidurkan MacOS (dengan menutup tutupnya). Melihat proses yang berjalan saya dapat melihat 2 (tidak yakin mengapa) dengan status 'S'.

Sudah mencoba

kill -SIGCONT

untuk melanjutkan proses, tetapi tidak berpengaruh.

52
qnoid

Anda dapat menjeda program apa pun dengan mengirimkannya sinyal TSTP (sopan) atau STOP (paksa). Di terminal Anda telah menjalankan rsync in, menekan Ctrl+Z mengirim TSTP. Lanjutkan dengan perintah fg atau bg di terminal atau sinyal CONT.

Aman untuk membunuh proses rsync dan menjalankan semuanya lagi; itu akan melanjutkan di mana ia tinggalkan. Mungkin sedikit tidak efisien, terutama jika Anda belum lulus --partial (termasuk dalam -P), karena rsync akan memeriksa semua file lagi dan memproses file yang terputus dari awal.

Mungkin ada kombinasi opsi yang tidak biasa yang akan menyebabkan beberapa file tidak disinkronkan dengan benar, mungkin --inplace dengan sesuatu yang lain, tapi saya pikir tidak ada opsi tunggal akan menyebabkan ini.

Jika Anda melepas laptop Anda dan menghubungkannya kembali di tempat lain, itu mungkin mendapatkan alamat IP yang berbeda. Maka koneksi TCP yang digunakan oleh rsync akan terputus, jadi Anda harus mematikannya dan mulai lagi. Ini juga dapat terjadi jika Anda menangguhkan laptop Anda dan TCP waktu koneksi habis. Batas waktu pada akhirnya akan menyaring ke level aplikasi, tetapi itu bisa memakan waktu cukup lama. Aman untuk menekan Ctrl+C dan jalankan rsync lagi.

Ctrl+Z untuk menangguhkan, dan:

$ fg

untuk melanjutkan, gunakan

$ jobs

untuk melihat pekerjaan yang ditangguhkan; bg [number] untuk latar belakang mereka; fg [number] untuk latar depan.

22
gauteh

Jalankan rsync dengan --partial bendera. Kemudian akan menyimpan transfer parsial dan melanjutkan file parsial ketika dimulai.

8
bahamat

Orang-orang di sini telah menyebutkan menggunakan --partial flag berfungsi, perlu disebutkan bahwa itu hanya dilanjutkan ketika --append atau --append-verify flag digunakan saat melanjutkan.

--partial membuat file tersembunyi dari file yang belum menyelesaikan proses sinkronisasi, file disimpan ketika Anda menyela sinkronisasi. Itu terus menyelesaikan file ketika Anda menggunakan --append setelah melanjutkan, sebaliknya saat tidak menggunakan --append, file tersembunyi yang tidak lengkap disimpan dan tetap tidak lengkap.

Kesimpulan: Anda bisa menginterupsi rsync --partial menggunakan Ctrl + C jika Anda menggunakan rsync --append saat melanjutkan

(Sumber: Bisakah rsync melanjutkan setelah terputus? diambil 5 April 2016)

5
Mehdi Nellen