Как да изключваме файлове от Rsync
Rsync е една от най-полезните помощни програми за администратор на сървър, но се синхронизира всичко по подразбиране, което може да бъде досадно, ако приложението ви създава много временни файлове. Ето как да изключите файловете, когато използвате rsync.
Изключване от списък в файл
Това е идеалният метод за изключване на файлове и папки, тъй като винаги можете да редактирате списъка и да настройвате нещата, ако е необходимо. Ето синтаксиса:
Rsync --изключат-от = / път / до / изключване-файл / път / до / източник / път / до / дест
Сложното нещо с rsync е, че трябва да използвате относителна пътека, когато се опитвате да изключите неща, защото когато се опитва да съвпадне с изключенията, тя няма да използва първата част от пътя за съвпадение… това е странно.
Кажете например, че се опитвате да архивирате / data / web / и да го изпратите на друг сървър, така че използвате команда като rsync -a / data / web / user @ server: / backups / data / web / се случи… но наистина бихте искали да пропуснете синхронизирането на папката / data / web / cache /. Когато rsync отиде да провери списъка ви за изключване за всеки елемент, който синхронизира, той няма да провери / data / web / cache /, тъй като оригиналната ви команда rsync се намира в папката / data / web /. Просто ще провери "кеш /" срещу списъка. Така че ще трябва да сложите “cache” в списъка, а не пълен път. Пример:
rsync -a --exclude-from = / данни / изключвания / data / web / / backups /
Сега, за да изключим / data / web / cache и / data / web / temp от rsync, използвайки тази команда, ще премахнем / data / web / частта от пътя и файлът / data / exclusion ще съдържа само следното:
кеш * темп *
Ще отбележите, че аз добавих * в пътя, за да се уверя, че той съвпада с всичко, което започва с “cache” в началото. Можете да използвате този звезден образец за по-полезни причини, ако искате - кажете, че искате да изключите всички .txt файлове от синхронизиране. Трябва да започнете модела със звездата, за да се уверите, че винаги съвпада, и добавете това:
*.текст
Това ще гарантира, че тези типове файлове ще бъдат пропуснати по време на синхронизация. Това е доста просто отвъд това.
Изключване на единична позиция
Тази техника е много по-малко полезна, но можете да я използвате в движение, ако е необходимо. Ако настройвате скрипт за използване на rsync, който обикновено сте, трябва да вземете допълнителната минута, за да изключите от списъка с файлове, за да направите бъдещата поддръжка по-лесна. Синтаксисът е много подобен:
rsync --exclude = относително / път / към / изключване / източник / dest
Тук следва да се прилага същия относителен път както по-горе.