排除文件和目錄列表
有時候,當我們做大量同步的時候,我們可能想要從同步的文件和目錄中排除一個文件和目錄的列表。一般來說,像設備文件和某些系統文件,或者像臨時文件或者緩存文件這類占據不必要磁盤空間的文件是不合適同步的,這類文件是我們需要排除的。
首先,讓我們創建一個名為“excluded”的文件(當然,你想取什麼名都可以),然後將我們想要排除的文件夾或文件寫入該文件,一行一個。在我們的例子中,如果你想要對根分區進行完整的備份,你應該排除一些在啟動時創建的設備目錄和放置臨時文件的目錄,列表看起來像下面這樣:
然後,你可以運行以下命令來備份系統:
復制代碼代碼如下:$ sudo rsync -aAXhv --exclude-from=excluded / /mnt/backup
從命令行排除文件
你也可以從命令行直接排除文件,該方法在你要排除的文件數量較少,並且在你想要將它寫成腳本或加到crontab中又不想腳本或cron依賴於另外一個文件運行時十分有用。
例如,如果你想要同步/var到一個備份目錄,但是你不想要包含cache和tmp這些通常不會有重要內容的文件夾,你可以使用以下命令:
復制代碼代碼如下:$ sudo rsync -aAXhv --exclude={"/var/cache","/var/tmp"} /var /home/adrian/var
該命令易於在腳本或cron中使用,也不會依賴其它文件。