15 Contoh Rsync

15 Contoh Rsync



Mentransfer file dari satu lokasi ke lokasi lain adalah tugas yang sangat umum bagi pengguna Linux. Banyak pilihan tersedia di Linux untuk melakukan tugas ini; 'rsync' adalah salah satunya. Bentuk lengkap dari 'rsync' adalah 'Remote Sync'. Ini adalah alat sinkronisasi yang sangat berguna untuk menyalin file dan folder dari satu sistem ke sistem lain secara lokal atau jarak jauh. Ini memiliki lebih banyak manfaat daripada alat sinkronisasi lainnya. Alat ini diinstal di Linux secara default. Jadi, pengguna tidak perlu menginstalnya. Keuntungan dan penggunaan perintah “rsync” ditunjukkan dalam tutorial ini menggunakan 15 contoh sederhana.

Keuntungan dari Perintah 'Rsync'.

  1. Ini lebih cepat daripada alat lain karena hanya menyalin file dari lokasi sumber ke lokasi tujuan yang dimodifikasi atau tidak ada di lokasi tujuan.
  2. Ini mendukung transfer tidak lengkap.
  3. Ini membutuhkan lebih sedikit bandwidth karena memampatkan data selama transmisi.
  4. Ini mengurangi overhead transmisi karena data yang kurang penting dapat ditransmisikan tanpa enkripsi.

Sintaksis

Sintaks perintah 'rsync' diberikan sebagai berikut:

rsync [Opsi] Tujuan Sumber

Di sini, jalur sumber dan tujuan bisa lokal atau jauh. Jenis opsi yang berbeda dapat digunakan dengan perintah ini untuk tujuan yang berbeda.







Opsi yang Berguna dari Perintah 'Rsync'.

Beberapa opsi perintah 'rsync' yang umum digunakan dijelaskan sebagai berikut:



Pilihan Tujuan
-Dengan Ini digunakan untuk mengompres data selama transmisi.
-R Ini digunakan untuk menyinkronkan data secara rekursif tanpa menyimpan izin file apa pun.
-A Ini digunakan untuk menyinkronkan data secara rekursif dengan mempertahankan semua izin file.
-B Ini digunakan untuk menyimpan cadangan data selama transmisi.
-di dalam Ini digunakan untuk menampilkan output dalam format verbose.
-P Ini digunakan untuk menampilkan progres transfer.
-N Ini digunakan untuk memeriksa apakah sinkronisasi berfungsi atau tidak sebelum mentransfer file atau folder.

Daftar 15 Contoh 'Rsync'.

  1. Mentransfer Satu File dan Folder Secara Lokal
  2. Transfer Banyak File dan Folder Secara Lokal
  3. Mentransfer File dan Folder Tunggal dari Jarak Jauh
  4. Transfer Banyak File dan Folder dari Jarak Jauh
  5. Menampilkan Progres Transfer
  6. Kompres Data Selama Transfer
  7. Transfer dengan Batas Bandwidth
  8. Transfer File dan Folder Secara Rekursif
  9. Transfer dengan Batas Ukuran Minimal
  10. Transfer dengan Batas Ukuran Maksimum
  11. Transfer File dari Jenis Tertentu
  12. Menampilkan Perbedaan Antara File Sumber dan Tujuan
  13. Sertakan atau Kecualikan File Selama Transfer
  14. Sinkronkan Data dalam Mode Kering
  15. Hapus File dan Folder Sumber Setelah Transfer

Mentransfer Satu File dan Folder Secara Lokal

Jalankan perintah 'ls' untuk menampilkan daftar file dan folder dari lokasi saat ini. Selanjutnya, jalankan perintah “rsync” untuk mentransfer file “employees.txt” ke file “employees_copy.txt” secara lokal. Jalankan kembali perintah “ls” untuk memeriksa apakah file sudah ditransfer dengan benar atau tidak.



$ ls
$ rsync karyawan.txt karyawan_copy.txt
$ ls

Output berikut menunjukkan bahwa file 'employee.txt' berhasil ditransfer:





Misalkan konten folder temp perlu ditransfer ke folder tempdir di mana file “courses.txt” ada di kedua folder. Jalankan perintah “ls temp” untuk memeriksa isi folder temp. Selanjutnya, jalankan perintah “cat temp/courses.txt” untuk memeriksa isi file ini. Selanjutnya, jalankan perintah “ls tempdir” untuk mengecek isi folder tempdir. Selanjutnya, jalankan perintah “cat tempdir/courses.txt” untuk memeriksa isi file ini.



$ ls temp
$ cat temp/courses.txt
$ lstempdir
$ cat tempdir/courses.txt

Output menunjukkan bahwa konten file 'courses.txt' dari folder temp dan tempdir sedikit berbeda dan file 'courses.txt' dari folder temp berisi lebih banyak data daripada file 'courses.txt' dari folder tempdir .

Jalankan perintah berikut untuk mentransfer konten folder temp ke folder tempdir dan periksa konten file “courses.txt” dari folder tempdir untuk mengonfirmasi bahwa file tersebut diperbarui dengan benar atau tidak:

$ rsync -a temp/ tempdir/
$ lstempdir
$ cat tempdir/courses.txt

Keluaran berikut menunjukkan bahwa konten folder temp ditransfer dengan benar ke folder tempdir dan konten file “courses.txt” dari folder tempdir diperbarui dengan benar:

Transfer Banyak File dan Folder Secara Lokal

Perintah 'rsync' dapat digunakan untuk mentransfer banyak file dan folder secara lokal. Jalankan perintah berikut untuk mentransfer file 'ping1.bash' dan 'ping2.bash' ke folder tempdir dan periksa konten folder tempdir setelah transfer. Opsi -v digunakan dengan perintah “rsync” untuk menampilkan output dalam format verbose:

$ rsync -v ping1.bash ping2.bash tempdir/
$ lstempdir

Output berikut menunjukkan bahwa banyak file ditransfer dengan benar ke folder tempdir:

Jalankan perintah berikut untuk memeriksa konten folder temp, tempdir, dan test dan transfer konten folder test dan tempdir ke folder temp:

$ ls temp
$ lstempdir
tes $ ls
$ rsync -tes av/ tempdir/ temp/
$ ls temp

Outputnya menunjukkan bahwa konten folder test dan tempdir berhasil ditransfer ke folder temp. File 'customers.csv', 'ping1.bash', dan 'ping2.bash' ditambahkan sebagai file baru ke folder temp:

Mentransfer File dan Folder Tunggal dari Jarak Jauh

Anda harus menginstal dan mengonfigurasi server SSH di lokasi terpencil untuk mentransfer file dan folder dari jarak jauh. Anda dapat memeriksa ini tutorial untuk mengkonfigurasi server SSH.

Jalankan perintah berikut untuk memeriksa ukuran file “courses.txt” dari lokasi saat ini:

ls -la kursus.txt

Keluarannya menunjukkan bahwa ukuran file “courses.txt” adalah 65 byte:

Jalankan perintah berikut untuk mentransfer “courses.txt” ke /rumah/ubuntu/kursus/ folder lokasi jauh, ubuntu@192.168.0.101. Anda harus memberikan kata sandi root dari mesin jarak jauh sebelum mentransfer file:

rsync -v course.txt  ubuntu@192.168.0.101:/home/ubuntu/courses/

Keluaran berikut menunjukkan bahwa file “courses.txt” ditransfer ke mesin jarak jauh dengan benar dan ukuran file adalah 65 byte:

Jalankan perintah berikut untuk mentransfer folder temp ke /rumah/ubuntu/kursus/ folder lokasi jauh, ubuntu@192.168.0.101. Anda harus memberikan kata sandi root dari mesin jarak jauh sebelum mentransfer file seperti perintah sebelumnya.

rsync -av temp/ ubuntu@192.168.0.101:/home/ubuntu/kursus/

Keluaran berikut menunjukkan bahwa konten folder temp ditransfer ke mesin jarak jauh dengan benar:

Transfer Banyak File dan Folder dari Jarak Jauh

Perintah 'rsync' berikut mentransfer file 'customers.csv' dan 'department.json' ke /rumah/Ubuntu/file/ folder lokasi jauh, ubuntu@192.168.0.101.

rsync -av pelanggan.csv department.json ubuntu@192.168.0.101:/home/ubuntu/files/

Output berikut menunjukkan bahwa banyak file berhasil ditransfer ke lokasi jauh:

Perintah 'rsync' berikut mentransfer konten folder temp dan test serta file 'department.json' ke /rumah/Ubuntu/file/ folder lokasi jauh, ubuntu@192.168.0.101.

rsync -av temp/ test/ department.json ubuntu@192.168.0.101:/home/ubuntu/files/

Keluaran berikut menunjukkan bahwa konten dari beberapa folder berhasil ditransfer ke lokasi jauh:

Menampilkan Progres Transfer

Jalankan perintah 'rsync' dengan opsi –progress untuk mentransfer konten folder tempdir ke folder temp_copy dengan informasi progres.

rsync -a tempdir/ temp_copy --progress

Keluaran berikut menunjukkan bahwa direktori temp_copy dibuat secara lokal dan konten folder tempdir berhasil ditransfer ke folder temp_copy:

Kompres Data Selama Transfer

Jalankan perintah “rsync” berikut dengan opsi –z untuk mengompresi dan mentransfer direktori tempdir ke direktori pengujian secara lokal:

rsync -za tempdir/tes/

Keluaran berikut menunjukkan bahwa direktori terkompresi berhasil ditransfer secara lokal:

Transfer dengan Batas Bandwidth

Jalankan perintah “rsync” berikut dengan opsi –bwlimit dengan nilai 100 untuk mentransfer file /etc/passwd ke folder temp secara lokal:

rsync -v --bwlimit=100 dll/passwd temp/

Output berikut menunjukkan bahwa file passwd berhasil ditransfer:

Transfer File dan Folder Secara Rekursif

Jalankan perintah “rsync” berikut dengan opsi –rv untuk mentransfer folder test ke folder test_bak secara lokal:

rsync -rv uji/ uji_bak/

Keluaran berikut menunjukkan bahwa folder tes berhasil ditransfer ke folder test_bak:

Transfer dengan Batas Ukuran Minimal

Mentransfer file dan folder menggunakan perintah 'rsync' dapat dibatasi menggunakan opsi –min-size untuk menetapkan batas ukuran minimum transfer file dan folder. Jalankan perintah “ls -la tempdir” berikut untuk memeriksa ukuran setiap file dan folder dari folder ini. Selanjutnya jalankan perintah “rsync” untuk mentransfer isi folder tempdir ke folder tempdir_bak dengan batas ukuran minimal.

ls -la tempdir
rsync -av --min-size='245B' tempdir/tempdir_bak

Output berikut menunjukkan bahwa ada dua file di folder tempdir yang cocok dengan ukuran minimum. Ini adalah 'ping1.bash' (248 byte) dan 'test.txt' (34504 byte). File-file ini ditransfer ke folder tempdir_bak dan file lain dari folder tempdir dihilangkan:

Transfer dengan Batas Ukuran Maksimum

Mentransfer file dan folder menggunakan perintah 'rsync' dapat dibatasi menggunakan opsi –max-size untuk menetapkan batas ukuran maksimum file dan folder yang ditransfer. Jalankan perintah “ls -la temp” berikut untuk memeriksa ukuran setiap file dan folder dari folder ini. Selanjutnya, jalankan perintah “rsync” untuk mentransfer konten folder temp ke folder temp_bak dengan batas ukuran maksimal.

ls -la temp
rsync --max-size='250B' temp/ temp_bak/

Output berikut menunjukkan bahwa ada empat file di folder temp yang cocok dengan batas ukuran maksimum. Ini adalah 'courses.txt' (65 byte), 'employees.csv' (361 byte), 'ping1.bash' (248 byte) dan 'ping2.bash' (244 byte). File-file ini dipindahkan ke folder temp_bak dan file lain di folder temp dihilangkan:

Transfer File dari Jenis Tertentu

Jenis file yang akan ditransfer dapat diatur dengan menyebutkan ekstensi file pada perintah “rsync”. Jalankan perintah 'rsync' berikut untuk mentransfer semua file teks dari folder temp ke folder mydir. Di sini, ekstensi file teks dilambangkan menggunakan '*.txt':

rsync -v temp/*.txt mydir/

Keluaran berikut menunjukkan bahwa dua file teks, 'courses.txt' dan 'test.txt', dipindahkan ke folder mydir, dan file lain dari folder temp dihilangkan:

Menampilkan Perbedaan Antara File Sumber dan Tujuan

Saat file atau folder dipindahkan dari satu lokasi ke lokasi lain secara lokal atau jarak jauh, kedua lokasi mungkin berisi file atau folder yang sama. Perbedaan antara sumber dan tujuan selama transmisi dapat diperiksa menggunakan opsi -i dengan perintah “rsync”. Jalankan perintah 'cat' berikut untuk memeriksa konten sumber dan file tujuan sebelum mentransfer. Di sini, file “courses.txt” dipindahkan ke folder temp.

kursus kucing.txt
cat temp/courses.txt
rsync -avi course.txt temp/

Keluaran berikut menunjukkan bahwa file “courses.txt” dari sumber dan tujuan sedikit berbeda. Output dari perintah 'rsync' menunjukkan perbedaan antara file:

Sinkronkan Data dalam Mode Kering

Jika Anda ingin mengetahui file dan folder mana yang ditransfer oleh perintah 'rsync' sebelum transfer sebenarnya, lebih baik menjalankan perintah 'rsync' dengan opsi –dry-run atau opsi –n. Ketika perintah 'rsync' dijalankan dengan opsi ini, ia memeriksa file atau folder mana yang disalin dari folder sumber ke folder tujuan tetapi folder tujuan tetap tidak berubah. Jalankan file “ls –la department.json” untuk memeriksa ukuran file. Selanjutnya, jalankan perintah “rsync” dengan mode –dry-run untuk memeriksa transfer “department.json” ke folder temp.

ls -la departemen.json
rsync -v --dry-run department.json temp/

Keluaran berikut menunjukkan bahwa ukuran file “department.json” adalah 1172 byte. Ukuran file menunjukkan 1172 byte setelah menjalankan perintah 'rsync' dengan opsi –dry-run:

Sertakan atau Kecualikan File Selama Transfer

Anda dapat memfilter jenis file pada saat mentransfer dari lokasi sumber ke lokasi tujuan menggunakan opsi –include dan –exclude. Opsi 'optioninclude' digunakan untuk menentukan ekstensi file-file yang akan ditransfer dari sumber ke tujuan. Opsi –exclude digunakan untuk menentukan ekstensi file-file yang tidak akan ditransfer dari sumber ke tujuan.

Jalankan folder “ls temp” berikut untuk memeriksa konten folder temp. Selanjutnya, jalankan perintah “rsync” dengan opsi –include dan –exclude. Menurut perintah, semua file CSV dari folder temp dipindahkan ke folder file dan semua file teks dari folder temp dihilangkan pada saat transfer. Selanjutnya, jalankan perintah 'ls files' untuk memeriksa file mana yang ditransfer dari folder temp ke folder files.

ls temp
rsync -a temp/ files/ --include=*.csv --exclude=*.txt
ls file

Keluaran berikut menunjukkan bahwa folder temp berisi dua file CSV, dua file teks, dan dua file BASH. Folder file kosong sebelum transfer dan dua file CSV dan dua file BASH ditransfer:

Hapus File dan Folder Sumber Setelah Transfer

Di semua perintah 'rsync' sebelumnya, file dan folder sumber tetap berada di lokasi sumber setelah dipindahkan ke lokasi tujuan. Namun terkadang, diperlukan pemindahan file dan folder secara permanen ke lokasi tujuan. Tugas ini dapat dilakukan dengan menggunakan opsi –remove-source-files dengan perintah “rsync”. Jalankan perintah 'ls' untuk memeriksa semua file dan folder dari lokasi saat ini. Jalankan perintah 'ls temp' untuk memeriksa file dan folder dari folder temp. Selanjutnya, jalankan perintah “rsync” dengan opsi –remove-source-files untuk menghapus file dan folder dari lokasi sumber setelah menyelesaikan transfer. Jalankan perintah 'ls' lagi untuk memeriksa apakah file sumber dihapus dari lokasi sumber atau tidak.

ls
ls temp
rsync  employee.csv temp/ --remove-source-files
ls

Output berikut menunjukkan bahwa file 'employees.csv' dari lokasi saat ini dipindahkan ke folder temp dan file 'employees.csv' dihapus dari lokasi sumber setelah transfer:

Kesimpulan

'rsync' adalah alat Linux yang sangat berguna yang membuat tugas transmisi file dan folder dari satu lokasi ke lokasi lain menjadi lebih mudah menggunakan opsi yang berbeda. Metode menggunakan perintah 'rsync' untuk mentransfer file dan folder dari satu lokasi ke lokasi lain dengan mengompresi, mengatur ukuran file dan folder, mengatur jenis file, mengatur batas bandwidth, dll. Ditunjukkan dalam 15 contoh sederhana dari tutorial ini. Tutorial ini membantu pengguna Linux untuk mengetahui penggunaan dasar dari perintah “rsync” di Linux dengan benar.