Створіть резервну копію домашнього каталогу за допомогою rsync та пропустіть непотрібні папки


24

Ви можете легко створити резервну копію домашньої папки на зовнішньому жорсткому диску

rsync -a --exclude=.cache --progress /home/$USER /media/linuxbackup/home/$USER

Я виключив папку .cache, тому що я думаю, що мені ніколи не знадобиться, коли мені доведеться перевстановити цю резервну копію.

Я знайшов цей список усіх папок, які я міг би виключити при звичайній резервній копії тут:
Які файли та каталоги можна виключити з резервної копії домашнього каталогу?

Я створив список цієї відповіді, який містить деякі коментарі в цій формі:

#These directories may be excluded:

.gvfs                           # contains mounted file systems?
.local/share/gvfs-metadata
.Private                        # contains the actual encrypted home directory
.dbus                           # session-specific
.cache
.Trash                          # do I need to say more?
.local/share/Trash
.cddb                           # cached info about audio CDs
.aptitude                       # cached packages lists

#Flash-specific:

.adobe                          # Cache for flash, maybe others?
.macromedia   # except for Flash persistence, there is no reason to keep this

#Files:

.xsession-errors            # contains errors from the current graphical session
.recently-used              # recently used files
.recently-used.xbel
.thumbnails

Ось повний список по суті

Як я можу додати цей список до своєї команди rsync?


1
окрім того .Trash, там також часто .Trash-1000(при нинішньому Ubuntu-MATE 14 принаймні), тож краще погодитися .Trash-*?
Френк Нокк

Відповіді:


40

Список виключень може містити лише імена файлів, назви папок та рядків, починаючи з #. Коментар за іменем папки заборонений. Я створив сховище Git із усіма відомими зайвими файлами та папками:

Завантажте цього ігнореліста в / var / tmp / ignorelist

wget https://raw.githubusercontent.com/rubo77/rsync-homedir-excludes/master/rsync-homedir-excludes.txt -O /var/tmp/ignorelist

Потім запустіть rsync з

rsync -aP --exclude-from=/var/tmp/ignorelist /home/$USER/ /media/$USER/linuxbackup/home/

Примітка:
у ігнореліста є розділ на початку з папками, це каталоги, ймовірно, не варто робити резервну копію.


2
Ви можете поєднати дві команди, оскільки rsyncможна прочитати з stdin:wget https://... -O - | rsync -a --progress --exclude-from=- ...
muru

8
хороший момент, але я думаю, що рекомендується спочатку подивитися на ігнореліста, перш ніж запускати rsync
rubo77

напрочуд node_modulesнемає у списку
jchook

ви не хочете зберігати node_modulesв деяких своїх конфігураційних каталогах? Уявіть, що ви хочете перенести свій домашній каталог на новий комп’ютер, тоді вам потрібно буде зберегти їх.
rubo77

4

Від man rsync:

 --exclude-from=FILE     read exclude patterns from FILE
          This option is related to the --exclude option, but it specifies
          a FILE that contains exclude patterns  (one  per  line).   Blank
          lines  in  the  file  and  lines  starting  with  ’;’ or ’#’ are
          ignored.  If FILE is -, the list  will  be  read  from  standard
          input.

Є такий список, я відредагував своє запитання
rubo77

@ rubo77 Я тверджу, що не існує списку всіх папок, які ви могли б виключити. Це рекомендація, і я сумніваюся, навіть Лекенстин сказав, що це повний список.
муру

Список не повинен бути повним. Я просто хотів би створити резервну копію швидше, щоб пропустити очевидні непотрібні папки
rubo77

@ rubo77 Я думаю, що вам доведеться перенести коментарі до різних рядків.
муру

THX, я оновив файл суті, так що коментарі є в одних рядках
rubo77

0

Можна спробувати це, якщо потрібні резервні копії каталогів та файлів у них. Виключає всі приховані каталоги.

rsync -aP --exclude=.* /home/$USER/ /media/$USER/folder


Чи можете ви бути більш конкретними "котирування відсутні"?
Арт

О, вибачте - я був лаконічним і переплутав це помилкою помилки з помилкою помилки "quotest" замість "quotes".
Волкер Зігель

Оболонка могла розширити *(може, не в тому місці?). Шляхи повинні бути цитовані - ім’я користувача не може містити пробілу, але /media/може бути /Old Media/чи так…
Volker Siegel

Прошу вибачення, що не отримую цього. ". *" Не включає жодного "." шаблон, який є прихованими каталогами в домашньому каталозі '/ home / $ USER /' для резервного копіювання місця призначення: зовнішній накопичувач hdd або пера '/ media / $ USER / папка'. Роблячи це, створюються резервні копії лише власне каталогів та файлів. Якщо ви вказуєте щось інше, будь ласка, детальніше.
Арт

4
Не виправдано виключати всі каталоги, що починаються з крапки, наприклад. Каталог .thunderbird є одним з найважливіших каталогів
rubo77
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.