Як виключити файли з Rsync
Rsync є одним з найбільш корисних утиліт для адміністратора сервера, але він синхронізується все за замовчуванням, що може дратувати, якщо ваша програма створює багато тимчасових файлів. Ось як виключити файли під час використання rsync.
Виключення зі списку у файлі
Це ідеальний метод для виключення файлів і папок, оскільки ви завжди можете редагувати список і при необхідності змінювати речі. Ось синтаксис:
rsync --изключити-з = / шлях / до / виключення-файл / path / to / source / path / to / dest
Різкою річчю з rsync є те, що вам потрібно використовувати відносний шлях, коли ви намагаєтеся виключити речі, тому що, коли він намагається відповідати виключенням, він не використовуватиме першу частину шляху до відповідності… це дивно.
Скажімо, ви намагаєтеся створити резервну копію / data / web / та надіслати її на інший сервер, тому ви використовуєте команду, як rsync -a / data / web / user @ server: / backups / data / web / трапиться… але вам дуже хочеться пропустити синхронізацію папки / data / web / cache /. Коли rsync перевіряє список виключень для кожного елемента, який він синхронізує, він не перевірить / data / web / cache /, оскільки ваша оригінальна команда rsync базується на папці / data / web /. Це просто перевірить "cache /" проти списку. Таким чином, вам доведеться помістити "cache" у список, а не повний шлях. Приклад:
rsync -a --exclude-from = / дані / виключення / дані / веб / / резервні копії /
Тепер, щоб виключити / data / web / cache та / data / web / temp з rsync, використовуючи цю команду, ми видалимо / data / web / частину шляху, а файл / data / exclusion просто буде містити це:
кеш * temp *
Ви помітите, що я додав * у шлях, щоб переконатися, що він відповідає всім, що починається з “cache” на початку. Цей шаблон зірочок можна використовувати для більш корисних причин, якщо хочете - скажімо, ви хочете виключити всі файли .txt від синхронізації. Ви повинні почати шаблон із зіркою, щоб переконатися, що завжди збігається, і додайте це:
* .txt
Це забезпечить пропуск цих типів файлів під час синхронізації. Це досить просто.
Виключення одного елемента
Цей прийом набагато менш корисний, але ви можете використовувати його на льоту, якщо вам потрібно. Якщо ви налаштовуєте сценарій для використання rsync, який ви зазвичай використовуєте, ви повинні взяти додаткову хвилину, щоб виключити зі списку файлів, аби полегшити подальше обслуговування. Синтаксис дуже схожий:
rsync --exclude = relative / path / to / exclusion / source / dest
Тут слід застосовувати той самий відносний шлях, як і вище.