Android

Cara mengecualikan file dan direktori dengan rsync

Panduan Windows Defender Untuk Meng exclude Folder Atau File Agar Tidak Di Hapus

Panduan Windows Defender Untuk Meng exclude Folder Atau File Agar Tidak Di Hapus

Daftar Isi:

Anonim

Rsync adalah utilitas baris perintah yang cepat dan serbaguna yang menyinkronkan file dan folder antara dua lokasi melalui shell jarak jauh.

Dengan Rsync Anda dapat menyalin data, membuat cadangan tambahan, dan menyalin file di antara sistem. Saat menyalin data, Anda mungkin ingin mengecualikan satu atau lebih file atau direktori berdasarkan nama atau lokasinya.

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara mengecualikan file dan direktori dengan rsync.

Sebelum kamu memulai

Anda harus memiliki pengetahuan dasar tentang cara kerja rsync.

Pada contoh di bawah ini, kita akan menggunakan rsync dengan opsi -a ,. Ini memberitahu rsync untuk menyinkronkan direktori secara rekursif, mentransfer perangkat khusus dan memblokir dan mempertahankan tautan simbolik, waktu modifikasi, grup, kepemilikan, dan izin.

Saat mengecualikan file atau direktori, Anda perlu menggunakan jalur relatifnya ke direktori sumber.

Ada dua opsi untuk menentukan file dan direktori yang ingin Anda kecualikan:

  • Dari baris perintah, gunakan opsi --exclude . Dari sebuah file, gunakan opsi --exclude-from .

Kecualikan File Tertentu

Untuk mengecualikan file tertentu, lewati jalur relatif ke file ke opsi --exclude .

Dalam contoh berikut ini file src_directory/file.txt tidak akan ditransfer:

rsync -a --exclude 'file.txt' src_directory/ dst_directory/

Kecualikan Direktori Tertentu

Mengecualikan direktori tertentu sama dengan mengecualikan file, cukup lewati jalur relatif ke direktori ke opsi --exclude seperti yang ditunjukkan di bawah ini:

rsync -a --exclude 'dir1' src_directory/ dst_directory/

rsync -a --exclude 'dir1/*' src_directory/ dst_directory/

Kecualikan Banyak File atau Direktori

Untuk mengecualikan beberapa file atau direktori cukup tentukan beberapa opsi --exclude :

rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/

rsync -a --exclude={'file1.txt', 'dir1/*', 'dir2'} src_directory/ dst_directory/

Jika jumlah file dan / atau direktori yang ingin Anda kecualikan besar, alih-alih menggunakan beberapa opsi --exclude Anda dapat menentukan file dan direktori yang ingin Anda kecualikan dalam file dan meneruskan file ke --exclude-from pilihan.

Perintah di bawah ini tidak persis sama dengan yang di atas:

rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/ kecualikan-file.txt

file1.txt dir1/* dir2

Kecualikan Banyak File atau Direktori Berdasarkan Pola

Dengan rsync Anda juga dapat mengecualikan file dan direktori berdasarkan pola yang cocok dengan nama file atau direktori.

Misalnya, untuk mengecualikan semua file .jpg yang akan Anda jalankan:

rsync -a --exclude '*.jpg*' src_directory/ dst_directory/

Agak sulit untuk mengecualikan semua file dan direktori lain kecuali yang cocok dengan pola tertentu. Katakanlah Anda ingin mengecualikan semua file dan direktori lain kecuali file yang diakhiri dengan .jpg .

Salah satu opsi adalah menggunakan perintah berikut:

rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/

Saat menggunakan beberapa opsi sertakan / kecualikan, aturan pencocokan pertama berlaku.

  • --include='*.jpg' - Pertama kami menyertakan semua file .jpg . --include='*/' - Kemudian kita memasukkan semua direktori di dalam direktori src_directory . Tanpa rsync ini hanya akan menyalin file *.jpg di direktori tingkat atas. -m - Menghapus direktori kosong.

Opsi lain adalah mem-pipe output dari perintah find ke rsync:

find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/

  • -printf %P\\0\\n - akan menghapus src_directory/ dari path file. --files-from=- - berarti hanya menyertakan file dari input standar (file dilewatkan dari perintah find).

Kesimpulan

Dalam tutorial ini, Anda belajar cara mengecualikan file dan direktori saat mentransfer data dengan Rsync. Ada banyak lagi yang bisa dipelajari tentang Rsync di halaman Panduan Pengguna Rsync.

terminal rsync