Bagaimana Mengecualikan Fail dari Rsync
Rsync adalah salah satu utiliti yang paling berguna untuk pentadbir pelayan, tetapi ia menyegerakkan semuanya secara lalai, yang boleh menjengkelkan jika aplikasi anda membuat banyak fail sementara. Berikut adalah cara untuk mengecualikan fail apabila menggunakan rsync.
Tidak termasuk dari Senarai dalam Fail
Ini adalah kaedah yang ideal untuk mengecualikan fail dan folder, kerana anda sentiasa boleh mengedit senarai dan tweak perkara jika perlu. Inilah sintaksnya:
rsync --exclude-from = / path / to / exclusion-file / path / to / source / path / to / dest
Perkara yang rumit dengan rsync adalah bahawa anda perlu menggunakan laluan relatif apabila anda cuba mengecualikan perkara, kerana apabila ia cuba untuk menyesuaikan pengecualian itu, ia tidak akan menggunakan bahagian pertama jalan untuk pertandingan ... itu pelik.
Katakan, sebagai contoh, anda cuba membuat cadangan / data / web / dan hantar ke pelayan lain, jadi anda menggunakan arahan seperti rsync -a / data / web / user @ server: / backup / data / web / untuk membuatnya berlaku ... tetapi anda benar-benar ingin melangkau penyematan / data / web / cache / folder. Apabila rsync pergi untuk memeriksa senarai pengecualian anda untuk setiap item yang disegerakkan, ia tidak akan memeriksa / data / web / cache / sejak arahan rsync asal anda didasarkan pada / data / web / folder. Ia hanya akan memeriksa "cache /" terhadap senarai. Oleh itu, anda perlu meletakkan "cache" dalam senarai, bukan jalan penuh. Contoh:
rsync -a --exclude-from = / data / pengecualian / data / web / / sandaran /
Kini untuk mengecualikan / data / web / cache dan / data / web / temp dari rsync menggunakan arahan ini, kami akan mengeluarkan / data / web / bahagian laluan dan fail / data / pengecualian hanya akan mengandungi ini:
cache * temp *
Anda akan perhatikan bahawa saya menambah * ke dalam laluan, untuk memastikan bahawa ia sepadan dengan apa sahaja yang bermula dengan "cache" pada mulanya. Anda boleh menggunakan corak bintang ini untuk alasan yang lebih berguna jika anda mahu - katakan anda ingin mengecualikan semua fail .txt daripada disegerakkan. Anda akan memulakan corak dengan bintang untuk memastikan ia selalu sepadan, dan tambah ini:
* .txt
Ini akan memastikan bahawa jenis fail dilangkau semasa penyegerakan. Ia cukup mudah melampauinya.
Tidak termasuk satu item tunggal
Teknik ini kurang bermanfaat, tetapi anda boleh menggunakannya dengan cepat jika anda perlu. Jika anda menyediakan skrip untuk menggunakan rsync, yang biasanya anda lakukan, anda perlu mengambil minit tambahan untuk mengecualikan daripada senarai fail dan bukannya membuat penyelenggaraan masa depan lebih mudah. Sintaks ini sangat serupa:
rsync --exclude = relative / path / to / exclusion / source / dest
Laluan relatif yang sama harus diterapkan di sini seperti di atas.