GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menggunakan rsync dari PC Windows ke server Linux jarak jauh?

Saya memiliki MinGW (juga dikenal sebagai 'Git Bash') di Windows 7, dan file batch yang menjalankan rsync untuk mencadangkan file di drive eksternal di komputer linux jarak jauh. Berikut file batch (my_rsync_file.bat )

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60  --exclude Downloads . 'example@unixlinux.online:/media/my_remote_linux_computer/LaCie/My\ Documents'"

Berikut sedikit penjelasan baris demi baris:

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)

Ini hanya memancarkan pesan untuk mengingatkan saya apa yang terjadi.

cd ../

Ini mengubah direktori satu tingkat ke atas dari tempat file batch (ke 'My Documents'). File batch ada di drive eksternal di komputer Windows saya. Saya ingin menyinkronkan semua folder 'Dokumen Saya' di drive eksternal ini dengan folder dengan nama yang sama di drive eksternal di komputer linux jarak jauh saya.

REM starting rsync...

Cukup cetak pesan lain.

bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . example@unixlinux.online:/media/my_remote_linux_computer/LaCie/My\\ Documents"

bash :memulai MinGW yang memiliki pustaka rsync bawaan
-c :tidak yakin apa fungsinya
rsync :perpustakaan untuk menyinkronkan file, dilengkapi dengan MinGW
-avzh :a-Archive, v-Verbose, z-Compress, h-Human-readable, ini adalah opsi umum (selengkapnya:http://linux.die.net/man/1/rsync)
-P :tampilkan kemajuan untuk file besar jadi saya tahu apakah itu dibekukan atau tidak
--stats :tampilkan ringkasan berapa banyak file dan byte yang ditransfer pada akhirnya
--timeout=60 :matikan setelah 60 detik jika macet
--exclude hilangkan file/direktori dari sinkronisasi, dalam hal ini saya mengecualikan direktori bernama 'Unduhan'
. :menunjukkan untuk menyinkronkan semua konten 'Dokumen Saya' (mengharapkan hal yang ditentukan untuk dikecualikan pada baris di atas)
my_remote_linux_computer :nama komputer linux jarak jauh saya (bukan nama sebenarnya;)
@128.95.155.200 :alamat IP komputer linux jarak jauh saya, dari https://www.whatismyip.com/ (bukan alamat IP saya yang sebenarnya :)
/media/my_remote_linux_computer/LaCie/My\\ Documents :jalur ke direktori di komputer linux jarak jauh saya yang ingin saya terima filenya. Ini adalah drive eksternal.

Perhatikan bahwa spasi di "My Documents" di-escape dengan dua garis miring terbalik, dan nama lengkap serta direktori tujuan jarak jauh diapit oleh tanda kutip ganda.

Ketika saya mulai mengklik dua kali pada file bat saya dimintai kata sandi untuk komputer linux jarak jauh saya. Ketika selesai saya mendapatkan beberapa keluaran ringkasan dan diminta untuk menekan tombol apa saja untuk menutup.


Jika Anda menginginkan aplikasi gratis yang menggabungkan cygwin dan rsync dengan antarmuka grafis yang bagus, lihat Deltacopy :

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

  • Pencadangan tambahan - Menyalin bagian dari file yang sebenarnya dimodifikasi
  • Penjadwal tugas - Profil di DeltaCopy dapat berjalan berdasarkan jadwal
  • Pemberitahuan email - Administrator dapat menerima konfirmasi email tentang transfer yang berhasil maupun yang gagal
  • Pemulihan sekali klik - File yang dicadangkan dapat dipulihkan dengan mudah.
  • Lingkungan ramah Windows - Tidak perlu mengubah file konfigurasi secara manual atau bermain-main dengan opsi baris perintah.

Salah satu opsi adalah menginstal rsync dengan menginstal cygwin di windows. Mungkin ada pendekatan yang jauh lebih langsung untuk itu.

Opsi lainnya adalah dengan rsync dari sisi linux - Anda dapat menyiapkan cara agar mesin jarak jauh dapat mengakses file lokal, lalu rsync dari sana (lihat cara memasang share smb/cifs).

Saya menduga masih ada opsi yang lebih baik, tapi mungkin itu akan sedikit membantu.


Pembaruan untuk tahun 2017

Dengan subsistem Linux yang tersedia di Windows 10, Anda mungkin dapat menginstal server ssh &rsync dengan sangat mudah dengan itu dan menggunakan rsync dengan Windows melalui itu.


Linux
  1. Cara Menggunakan Perintah Linux Rsync (Sinkronisasi Jarak Jauh)

  2. Cara menggunakan rsyslog untuk membuat server agregasi log Linux

  3. Cara SSH di Linux dari Android

  1. Cara Menggunakan Rsync untuk Menyinkronkan File Baru atau Berubah/Dimodifikasi di Linux

  2. Bagaimana cara menggunakan perintah Rsync di linux?

  3. Cara Mentransfer File di Linux dengan SCP dan Rsync

  1. Cara Memasang Windows Share Jarak Jauh di Linux

  2. Cara Remote Desktop Dari Windows Ke Desktop Linux Menggunakan XRDP

  3. Cara SCP dari server linux ke klien Windows