Beberapa waktu yang lalu, kami membahas cara mengecualikan file ukuran tertentu dari penyalinan menggunakan rsync dalam sistem mirip Unix. Metode itu membantu kami untuk mengecualikan file berukuran besar atau file yang kurang penting untuk menyelesaikan proses penyalinan sesegera mungkin. Jadi, kita dapat menyalin file yang tersisa nanti ketika kita memiliki waktu luang. Hari ini, dalam panduan singkat ini, kita akan melihat cara mengecualikan direktori tertentu dari penyalinan menggunakan Rsync dan cp perintah di Linux.
Kecualikan Direktori Tertentu Dari Penyalinan Di Linux
Mungkin ada banyak cara untuk melakukan tugas ini. Saya mengetahui dua metode berikut.
Metode 1- menggunakan rsync perintah
Seperti yang mungkin sudah Anda ketahui, Rsync adalah alat yang cepat dan serbaguna untuk menyalin file dan folder secara lokal, atau ke/dari host lain melalui shell jarak jauh, atau ke/dari daemon rsync jarak jauh. Rsync memiliki banyak opsi yang berguna. Salah satu opsi yang berguna adalah --kecualikan . Menggunakan kecualikan opsi, kami dapat mengecualikan file/direktori tertentu dari penyalinan. Mari kita lihat bagaimana melakukannya dengan sebuah contoh.
Katakanlah Anda memiliki folder bernama ostechnix . Di dalam direktori ostechnix terdapat tiga sub-direktori yaitu dir1 , dir2 , dan dir3 .
$ ls ostechnix/ dir1 dir2 dir3
Anda ingin menyalin dir1 dan dir3 ke lokasi yang berbeda, tetapi bukan dir2 . Bagaimana? Di sinilah rsync membantu.
Untuk mengecualikan direktori tertentu dari penyalinan menggunakan perintah rsync, jalankan saja:
$ rsync -av --progress ostechnix/ backup/ --exclude dir2
Contoh keluarannya adalah:
sending incremental file list ./ dir1/ dir1/file1.pdf 6,152,611 100% 58.36MB/s 0:00:00 (xfr#1, to-chk=7/11) dir1/file2 2,597,261 100% 14.83MB/s 0:00:00 (xfr#2, to-chk=6/11) dir1/file3.doc 88,143 100% 470.37kB/s 0:00:00 (xfr#3, to-chk=5/11) dir1/file4.txt 66,374 100% 330.71kB/s 0:00:00 (xfr#4, to-chk=4/11) dir3/ dir3/file1.pdf 6,152,611 100% 18.39MB/s 0:00:00 (xfr#5, to-chk=3/11) dir3/file2 2,597,261 100% 6.68MB/s 0:00:00 (xfr#6, to-chk=2/11) dir3/file3.doc 88,143 100% 224.16kB/s 0:00:00 (xfr#7, to-chk=1/11) dir3/file4.txt 66,374 100% 164.10kB/s 0:00:00 (xfr#8, to-chk=0/11) sent 17,813,759 bytes received 187 bytes 11,875,964.00 bytes/sec total size is 17,808,778 speedup is 1.00
Perintah di atas akan menyalin semua isi folder ostechnix ke folder yaitu cadangan , dan itu akan mengecualikan direktori dir2 dari penyalinan.
Atau, Anda dapat menggunakan perintah yang sama seperti di bawah ini.
$ rsync -av --progress --exclude="folder_to_exclude" source_dirctory dest_directory
Contoh:
$ rsync -av --progress --exclude="dir2" ostechnix/ backup/
Sebenarnya ide yang baik untuk menghilangkan atau mengecualikan beberapa direktori besar atau kurang penting dari penyalinan saat membuat cadangan sistem Anda menggunakan rsync untuk menghemat waktu Anda.
Untuk detail lebih lanjut, periksa halaman manual.
$ man rsync
Baca juga:
- Cara Cepat Mentransfer File Besar Melalui Jaringan Di Linux dan Unix
- Cara menemukan ukuran direktori di Linux dari baris perintah
Metode 2 - Menggunakan cp perintah
Kami juga dapat menggunakan cp perintah untuk menyalin folder dari satu lokasi ke lokasi lain kecuali direktori tertentu.
Buka direktori sumber Anda yaitu ostechnix dalam kasus kami.
$ cd ostechnix/
Dan, jalankan perintah berikut:
$ cp -r `ls -A | grep -v "dir2"` /home/sk/backup/
Perintah di atas akan menyalin semua isi dari folder ostechnix saat ini kecuali sub-direktori dir2 dan menyimpannya ke /home/sk/backup/ direktori.
Lebih sederhana lagi, kita bisa melakukannya sebagai berikut.
$ cp -r !(dir2) /home/sk/backup/
Untuk detail lebih lanjut, periksa halaman manual.
$ man cp