/ / Как да изключите файлове от Rsync

Как да изключите файлове от Rsync

Rsync е една от най-полезните помощни програми за администратор на сървър, но се синхронизира всичко по подразбиране, което може да бъде досадно, ако приложението ви създава много временни файлове. Ето как да изключите файлове при използване на rsync.

Изключване от списък във файл

Това е идеалният метод за изключване на файлове и папки, тъй като винаги можете да редактирате списъка и да настройвате неща, ако е необходимо. Ето синтаксиса:

rsync --exclude-from=/path/to/exclusion-file /path/to/source /path/to/dest

Най-сложното при rsync е, че трябваизползвайте относителен път, когато се опитвате да изключите нещата, защото когато се опитва да съвпада с изключенията, няма да използва първата част от пътя за мача ... това е странно.

Кажете например, че се опитвате да архивирате/ data / web / и го изпращате на друг сървър, така че използвате команда като rsync -a / data / web / user @ server: / архивиране / data / web /, за да се случи ... но наистина бихте искали да пропуснете синхронизиране на папката / data / web / cache /. Когато rsync отиде да провери списъка ви за изключване за всеки елемент, който синхронизира, няма да провери / data / web / cache /, тъй като оригиналната ви команда rsync е базирана в папката / data / web /. Просто ще проверите „кеш /“ спрямо списъка. Така че ще трябва да поставите „кеш“ в списъка, а не пълния път. Пример:

rsync -a --exclude-from=/data/exclusions /data/web/ /backups/

Сега, за да изключим / data / web / cache и / data / web / temp от rsync, използвайки тази команда, ние ще премахнем / data / web / частта от пътя и файлът / data / изключения просто ще съдържа това:

cache*
temp*

Ще отбележите, че добавих * в пътя, къмуверете се, че съвпада с всичко, което започва с „кеш“ в началото. Можете да използвате този звезден модел по по-полезни причини, ако искате - кажете, че искате да изключите всички .txt файлове от синхронизиране. Ще започнете модела със звездата, за да сте сигурни, че винаги съвпада, и добавете това:

*.txt

Това би гарантирало, че тези типове файлове се пропускат по време на синхронизация. Това е доста просто отвъд това.

С изключение на единичен артикул

Тази техника е много по-малко полезна, но можетеизползвайте го в движение, ако трябва. Ако настройвате сценарий за използване на rsync, какъвто обикновено сте, трябва да отделите допълнителната минута, за да изключите от списъка с файлове, вместо да улесните бъдещата поддръжка. Синтаксисът е много подобен:

rsync --exclude=relative/path/to/exclusion /source /dest

Същият относителен път трябва да се прилага тук, както по-горе.