Rsync adalah salah satu utilitas yang paling berguna untuk administrator server, tetapi syncssegala sesuatu secara default, yang dapat mengganggu jika aplikasi Anda membuat banyak file temporer. Berikut cara mengecualikan file saat menggunakan rsync.
Ini adalah metode yang ideal untuk mengecualikan file dan folder, karena Anda selalu dapat mengedit daftar dan mengubah hal-hal jika perlu. Berikut ini sintaksnya:
rsync --exclude-from = / path / to / exclusion-file / path / ke / source / path / ke / dest
Hal yang rumit dengan rsync adalah bahwa Anda perlu menggunakan jalur relatif ketika Anda mencoba untuk mengecualikan hal-hal, karena ketika mencoba untuk mencocokkan pengecualian itu tidak akan menggunakan bagian pertama dari jalan untuk pertandingan ... itu aneh.
Katakanlah, misalnya, Anda mencoba mencadangkan / data / web / dan mengirimnya ke server lain, sehingga Anda menggunakan perintah seperti rsync -a / data / web / pengguna @ server: / backup / data / web / untuk membuatnya terjadi ... tetapi Anda benar-benar ingin melewatkan sinkronisasi folder / data / web / cache /. Ketika rsync pergi untuk memeriksa daftar pengecualian Anda untuk setiap item yang disinkronkan, itu tidak memeriksa / data / web / cache / karena perintah rsync asli Anda didasarkan pada folder / data / web /. Itu hanya akan memeriksa "cache /" terhadap daftar. Jadi Anda harus memasukkan "cache" ke dalam daftar, bukan path lengkap. Contoh:
rsync -a --exclude-from = / data / exclusion / data / web / / backup /
Sekarang untuk mengecualikan / data / web / cache dan / data / web / temp dari rsync menggunakan perintah ini, kami akan menghapus / data / web / bagian dari path dan file / data / pengecualian hanya akan berisi ini:
cache * temp *
Anda akan mencatat bahwa saya menambahkan * ke jalur, untuk memastikan bahwa itu cocok dengan apa pun yang dimulai dengan "cache" di awal. Anda dapat menggunakan pola bintang ini untuk alasan yang lebih berguna jika Anda ingin - misalnya Anda ingin mengecualikan semua file .txt agar tidak disinkronkan. Anda akan memulai pola dengan bintang untuk memastikan bahwa selalu cocok, dan tambahkan ini:
*.txt
Itu akan memastikan bahwa jenis file tersebut dilewati selama sinkronisasi. Ini sangat sederhana di luar itu.
Teknik ini jauh kurang bermanfaat, tetapi Anda dapat menggunakannya dengan cepat jika perlu. Jika Anda mengatur skrip untuk menggunakan rsync, yang biasanya Anda lakukan, Anda harus meluangkan waktu ekstra untuk mengecualikan dari daftar file, bukan untuk memudahkan pemeliharaan di masa depan. Sintaksnya sangat mirip:
rsync --exclude = relative / path / to / exclusion / source / dest
Jalur relatif yang sama harus berlaku di sini seperti di atas.