15 Contoh Rsync

15 Contoh Rsync



Memindahkan fail dari satu lokasi ke lokasi lain adalah tugas yang sangat biasa untuk pengguna Linux. Banyak pilihan tersedia di Linux untuk melakukan tugas ini; 'rsync' adalah salah satu daripadanya. Bentuk penuh 'rsync' ialah 'Penyegerakan Jauh'. Ia adalah alat penyegerakan yang sangat berguna untuk menyalin fail dan folder dari satu sistem ke sistem lain secara tempatan atau jauh. Ia mempunyai lebih banyak faedah daripada alat penyegerakan yang lain. Alat ini dipasang di Linux secara lalai. Jadi, pengguna tidak perlu memasangnya. Kelebihan dan penggunaan arahan 'rsync' ditunjukkan dalam tutorial ini menggunakan 15 contoh mudah.

Kelebihan Perintah 'Rsync'.

  1. Ia lebih pantas daripada alatan lain kerana ia hanya menyalin fail tersebut dari lokasi sumber ke lokasi destinasi yang diubah suai atau tidak wujud di lokasi destinasi.
  2. Ia menyokong pemindahan yang tidak lengkap.
  3. Ia memerlukan kurang lebar jalur kerana ia memampatkan data semasa penghantaran.
  4. Ia mengurangkan overhed penghantaran kerana data yang kurang penting boleh dihantar tanpa penyulitan.

Sintaks

Sintaks arahan 'rsync' diberikan dalam perkara berikut:

rsync [Pilihan] Destinasi Sumber

Di sini, laluan sumber dan destinasi boleh menjadi setempat atau jauh. Jenis pilihan yang berbeza boleh digunakan dengan arahan ini untuk tujuan yang berbeza.







Pilihan Berguna Perintah 'Rsync'.

Beberapa pilihan yang biasa digunakan bagi arahan 'rsync' dijelaskan dalam perkara berikut:



Pilihan Tujuan
-Dengan Ia digunakan untuk memampatkan data semasa penghantaran.
-r Ia digunakan untuk menyegerakkan data secara rekursif tanpa menyimpan sebarang kebenaran fail.
-a Ia digunakan untuk menyegerakkan data secara rekursif dengan menyimpan semua kebenaran fail.
-b Ia digunakan untuk menyimpan sandaran data semasa penghantaran.
-dalam Ia digunakan untuk memaparkan output dalam format verbose.
-hlm Ia digunakan untuk memaparkan kemajuan pemindahan.
-n Ia digunakan untuk menyemak sama ada penyegerakan berfungsi atau tidak sebelum memindahkan fail atau folder.

Senarai 15 Contoh 'Rsync'.

  1. Pindahkan Fail Tunggal dan Folder Secara Tempatan
  2. Pindahkan Berbilang Fail dan Folder Secara Setempat
  3. Pindahkan Fail Tunggal dan Folder Dari Jauh
  4. Pindahkan Berbilang Fail dan Folder dari Jauh
  5. Paparkan Kemajuan Pemindahan
  6. Mampatkan Data Semasa Pemindahan
  7. Pindahkan dengan Had Lebar Jalur
  8. Pindahkan Fail dan Folder Secara Rekursif
  9. Pindahkan dengan Had Saiz Minimum
  10. Pindahkan dengan Had Saiz Maksimum
  11. Pindahkan Fail Jenis Tertentu
  12. Paparkan Perbezaan Antara Fail Sumber dan Destinasi
  13. Sertakan atau Kecualikan Fail Semasa Pemindahan
  14. Segerakkan Data dalam Mod Kering
  15. Padamkan Fail dan Folder Sumber Selepas Pemindahan

Pindahkan Fail dan Folder Tunggal Secara Tempatan

Jalankan arahan 'ls' untuk memaparkan senarai fail dan folder lokasi semasa. Seterusnya, jalankan arahan 'rsync' untuk memindahkan fail 'employees.txt' ke fail 'employees_copy.txt' secara setempat. Jalankan arahan 'ls' sekali lagi untuk menyemak sama ada fail dipindahkan dengan betul atau tidak.



$ ls
$ rsync employees.txt employees_copy.txt
$ ls

Output berikut menunjukkan bahawa fail 'employee.txt' berjaya dipindahkan:





Katakan kandungan folder temp perlu dipindahkan ke folder tempdir di mana fail 'courses.txt' wujud pada kedua-dua folder. Jalankan arahan 'ls temp' untuk menyemak kandungan folder temp. Seterusnya, jalankan arahan 'cat temp/courses.txt' untuk menyemak kandungan fail ini. Seterusnya, jalankan arahan 'ls tempdir' untuk menyemak kandungan folder tempdir. Seterusnya, jalankan arahan 'cat tempdir/courses.txt' untuk menyemak kandungan fail ini.



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

Output menunjukkan bahawa kandungan fail 'courses.txt' folder temp dan tempdir berbeza sedikit dan fail 'courses.txt' folder temp mengandungi lebih banyak data daripada fail 'courses.txt' folder tempdir .

Jalankan arahan berikut untuk memindahkan kandungan folder temp ke folder tempdir dan semak kandungan fail 'courses.txt' folder tempdir untuk mengesahkan bahawa fail itu dikemas kini dengan betul atau tidak:

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

Output berikut menunjukkan bahawa kandungan folder temp dipindahkan dengan betul ke folder tempdir dan kandungan fail 'courses.txt' folder tempdir dikemas kini dengan betul:

Pindahkan Berbilang Fail dan Folder Secara Setempat

Perintah 'rsync' boleh digunakan untuk memindahkan berbilang fail dan folder secara setempat. Jalankan arahan berikut untuk memindahkan fail 'ping1.bash' dan 'ping2.bash' ke folder tempdir dan semak kandungan folder tempdir selepas pemindahan. Pilihan -v digunakan dengan arahan 'rsync' untuk memaparkan output dalam format verbose:

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

Output berikut menunjukkan bahawa berbilang fail dipindahkan dengan betul ke dalam folder tempdir:

Jalankan arahan berikut untuk menyemak kandungan folder temp, tempdir dan ujian dan pindahkan kandungan folder ujian dan tempdir ke folder temp:

$ ls temp
$ lstempdir
ujian $ls
$ rsync -av test/ tempdir/ temp/
$ ls temp

Output menunjukkan bahawa kandungan folder ujian dan tempdir berjaya dipindahkan ke folder temp. Fail 'customers.csv', 'ping1.bash' dan 'ping2.bash' ditambah sebagai fail baharu pada folder temp:

Pindahkan Fail Tunggal dan Folder Dari Jauh

Anda perlu memasang dan mengkonfigurasi pelayan SSH di lokasi terpencil untuk memindahkan fail dan folder dari jauh. Anda boleh menyemak ini tutorial untuk mengkonfigurasi pelayan SSH.

Jalankan arahan berikut untuk menyemak saiz fail 'courses.txt' lokasi semasa:

ls -la courses.txt

Output menunjukkan bahawa saiz fail 'courses.txt' ialah 65 bait:

Jalankan arahan berikut untuk memindahkan 'courses.txt' ke /home/ubuntu/courses/ folder lokasi terpencil, ubuntu@192.168.0.101. Anda perlu memberikan kata laluan akar mesin jauh sebelum memindahkan fail:

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

Output berikut menunjukkan bahawa fail 'courses.txt' dipindahkan ke mesin jauh dengan betul dan saiz fail ialah 65 bait:

Jalankan arahan berikut untuk memindahkan folder temp ke /home/ubuntu/courses/ folder lokasi terpencil, ubuntu@192.168.0.101. Anda perlu memberikan kata laluan root mesin jauh sebelum memindahkan fail seperti arahan sebelumnya.

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

Output berikut menunjukkan bahawa kandungan folder temp dipindahkan ke mesin jauh dengan betul:

Pindahkan Berbilang Fail dan Folder dari Jauh

Perintah 'rsync' berikut memindahkan fail 'customers.csv' dan 'department.json' ke /home/Ubuntu/files/ folder lokasi terpencil, ubuntu@192.168.0.101.

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

Output berikut menunjukkan bahawa berbilang fail berjaya dipindahkan ke lokasi terpencil:

Perintah 'rsync' berikut memindahkan kandungan folder temp dan ujian serta fail 'department.json' ke /home/Ubuntu/files/ folder lokasi terpencil, ubuntu@192.168.0.101.

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

Output berikut menunjukkan bahawa kandungan berbilang folder berjaya dipindahkan ke lokasi terpencil:

Paparkan Kemajuan Pemindahan

Jalankan arahan 'rsync' dengan pilihan –progress untuk memindahkan kandungan folder tempdir ke folder temp_copy dengan maklumat kemajuan.

rsync -a tempdir/ temp_copy --progress

Output berikut menunjukkan bahawa direktori temp_copy dibuat secara setempat dan kandungan folder tempdir berjaya dipindahkan ke folder temp_copy:

Mampatkan Data Semasa Pemindahan

Jalankan arahan 'rsync' berikut dengan pilihan –z untuk memampatkan dan memindahkan direktori tempdir ke direktori ujian secara setempat:

rsync -za tempdir/test/

Output berikut menunjukkan bahawa direktori termampat berjaya dipindahkan secara setempat:

Pindahkan dengan Had Lebar Jalur

Jalankan arahan 'rsync' berikut dengan pilihan –bwlimit dengan nilai 100 untuk memindahkan fail /etc/passwd ke folder temp secara setempat:

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

Output berikut menunjukkan bahawa fail passwd berjaya dipindahkan:

Pindahkan Fail dan Folder Secara Rekursif

Jalankan arahan 'rsync' berikut dengan pilihan –rv untuk memindahkan folder ujian ke dalam folder test_bak secara setempat:

rsync -rv test/ test_bak/

Output berikut menunjukkan bahawa folder ujian berjaya dipindahkan ke folder test_bak:

Pindahkan dengan Had Saiz Minimum

Memindahkan fail dan folder menggunakan arahan “rsync” boleh dihadkan menggunakan pilihan –min-size untuk menetapkan had saiz minimum pemindahan fail dan folder. Jalankan arahan 'ls -la tempdir' berikut untuk menyemak saiz setiap fail dan folder folder ini. Seterusnya, jalankan arahan 'rsync' untuk memindahkan kandungan folder tempdir ke folder tempdir_bak dengan had saiz minimum.

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

Output berikut menunjukkan bahawa dua fail wujud dalam folder tempdir yang sepadan dengan saiz minimum. Ini ialah 'ping1.bash' (248 bait) dan 'test.txt' (34504 bait). Fail-fail ini dipindahkan ke dalam folder tempdir_bak dan fail lain dalam folder tempdir ditinggalkan:

Pindahkan dengan Had Saiz Maksimum

Memindahkan fail dan folder menggunakan arahan 'rsync' boleh dihadkan menggunakan pilihan –max-size untuk menetapkan had saiz maksimum bagi memindahkan fail dan folder. Jalankan arahan 'ls -la temp' berikut untuk menyemak saiz setiap fail dan folder folder ini. Seterusnya, jalankan arahan 'rsync' untuk memindahkan kandungan folder temp ke folder temp_bak dengan had saiz maksimum.

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

Output berikut menunjukkan bahawa empat fail wujud dalam folder temp yang sepadan dengan had saiz maksimum. Ini ialah 'courses.txt' (65 bait), 'employees.csv' (361 bait), 'ping1.bash' (248 bait) dan 'ping2.bash' (244 bait). Fail ini dipindahkan ke dalam folder temp_bak dan fail lain dalam folder temp ditinggalkan:

Pindahkan Fail Jenis Tertentu

Jenis fail yang akan dipindahkan boleh ditetapkan dengan menyebut sambungan fail dalam arahan 'rsync'. Jalankan arahan 'rsync' berikut untuk memindahkan semua fail teks folder temp ke folder mydir. Di sini, sambungan fail teks dilambangkan menggunakan '*.txt':

rsync -v temp/*.txt mydir/

Output berikut menunjukkan bahawa dua fail teks, 'courses.txt' dan 'test.txt', dipindahkan ke folder mydir dan fail lain folder temp ditinggalkan:

Paparkan Perbezaan Antara Fail Sumber dan Destinasi

Apabila fail atau folder dipindahkan dari satu lokasi ke lokasi lain secara setempat atau jauh, kedua-dua lokasi mungkin mengandungi fail atau folder yang sama. Perbezaan antara sumber dan destinasi semasa penghantaran boleh diperiksa menggunakan pilihan -i dengan arahan 'rsync'. Jalankan arahan 'kucing' berikut untuk menyemak kandungan sumber dan fail destinasi sebelum pemindahan. Di sini, fail 'courses.txt' dipindahkan ke folder temp.

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

Output berikut menunjukkan bahawa fail 'courses.txt' bagi sumber dan destinasi adalah sedikit berbeza. Output arahan 'rsync' menunjukkan perbezaan antara fail:

Segerakkan Data dalam Mod Kering

Jika anda ingin mengetahui fail dan folder mana yang dipindahkan oleh arahan 'rsync' sebelum pemindahan sebenar, adalah lebih baik untuk menjalankan perintah 'rsync' dengan pilihan –dry-run atau pilihan –n. Apabila arahan 'rsync' dilaksanakan dengan pilihan ini, ia menyemak fail atau folder mana yang disalin daripada folder sumber ke folder destinasi tetapi mengekalkan folder destinasi tidak berubah. Jalankan fail “ls –la department.json” untuk menyemak saiz fail. Seterusnya, jalankan arahan “rsync” dengan mod –dry-run untuk menyemak pemindahan “department.json” ke folder temp.

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

Output berikut menunjukkan bahawa saiz fail 'department.json' ialah 1172 bait. Saiz fail menunjukkan 1172 bait selepas melaksanakan perintah 'rsync' dengan pilihan -dry-run:

Sertakan atau Kecualikan Fail Semasa Pemindahan

Anda boleh menapis jenis fail pada masa pemindahan dari lokasi sumber ke lokasi destinasi menggunakan pilihan –include dan –exclude. Pilihan 'pilihan termasuk' digunakan untuk menentukan lanjutan fail tersebut yang akan dipindahkan dari sumber ke destinasi. Pilihan –exclude digunakan untuk menentukan sambungan fail tersebut yang tidak akan dipindahkan dari sumber ke destinasi.

Jalankan folder 'ls temp' berikut untuk menyemak kandungan folder temp. Seterusnya, jalankan arahan 'rsync' dengan pilihan –include dan –exclude. Menurut arahan itu, semua fail CSV folder temp dipindahkan ke folder fail dan semua fail teks folder temp ditinggalkan pada masa pemindahan. Seterusnya, jalankan arahan 'ls files' untuk menyemak fail mana yang dipindahkan dari folder temp ke folder fail.

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

Output berikut menunjukkan bahawa folder temp mengandungi dua fail CSV, dua fail teks dan dua fail BASH. Folder fail kosong sebelum pemindahan dan dua fail CSV dan dua fail BASH dipindahkan:

Padamkan Fail dan Folder Sumber Selepas Pemindahan

Dalam semua arahan 'rsync' sebelumnya, fail sumber dan folder kekal di lokasi sumber selepas dipindahkan ke lokasi destinasi. Tetapi kadangkala, ia memerlukan pemindahan fail dan folder secara kekal ke lokasi destinasi. Tugas ini boleh dilakukan menggunakan pilihan –remove-source-files dengan arahan “rsync”. Jalankan arahan 'ls' untuk menyemak semua fail dan folder lokasi semasa. Jalankan arahan 'ls temp' untuk menyemak fail dan folder folder temp. Seterusnya, jalankan arahan 'rsync' dengan pilihan –remove-source-files untuk memadam fail dan folder lokasi sumber selepas menyelesaikan pemindahan. Jalankan arahan 'ls' sekali lagi untuk menyemak sama ada fail sumber dialih keluar dari lokasi sumber atau tidak.

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

Output berikut menunjukkan bahawa fail 'employees.csv' lokasi semasa dipindahkan ke folder temp dan fail 'employees.csv' dialih keluar daripada lokasi sumber selepas pemindahan:

Kesimpulan

'rsync' ialah alat Linux yang sangat berguna yang menjadikan tugas penghantaran fail dan folder dari satu lokasi ke lokasi lain lebih mudah menggunakan pilihan yang berbeza. Kaedah menggunakan arahan 'rsync' untuk memindahkan fail dan folder dari satu lokasi ke lokasi lain dengan memampatkan, menetapkan saiz fail dan folder, menetapkan jenis fail, menetapkan had lebar jalur, dll. ditunjukkan dalam 15 contoh mudah tutorial ini. Tutorial ini membantu pengguna Linux mengetahui kegunaan asas perintah 'rsync' dalam Linux dengan betul.