Пользовательское создание сервера резервного копирования

Один из самых основных инструментов для определения местоположения файлов (или другие виды узлов) find утилита.

find ./ -type f -name '*[!0-9][0-9].txt'

Это будет искать:

  • ... recursivly из текущего каталога (./). Вы могли изменить это на другой путь или даже оставить его, так как это - значение по умолчанию для большинства версий find.
  • ... для объектов, которые являются файлами в противоположность каталогам, узлам устройств, символьным ссылкам, и т.д. (-type f). Вы могли оставить это, если бы Вы хотели найти другие типы также.
  • ... для объектов, которые соответствуют данному шаблону имени. Обратите внимание, что я привык одинарные кавычки для encose шаблон так, чтобы удар или Ваша оболочка не пробовали к expland, которую это к шаблону шарика прежде находит, даже получает команду. Звезда соответствует любому количеству символов, затем конец файла должен быть чем-то другим, чем цифра, затем цифра, затем Ваше расширение. (-name '*[0-9].txt')

Если существуют файлы, имя которых является только цифрой, сопровождаемой .txt, команда выше пропустит их, потому что требуется одна нецифра перед цифрой. Следующие эквивалентные команды используют булевы операторы для включения имен файлов только с цифрой также (-o “или” и ! не):

find ./ -type f \( -name '*[!0-9][0-9].txt' -o -name '[0-9].txt' \)
find ./ -type f -name '*[0-9].txt' ! -name '*[0-9][0-9].txt'

Обратите внимание, что это будет чувствительно к регистру. Если Вы хотели бы нечувствительное соответствие, можно использовать -iname вместо -name соответствовать вещам как file4.TXT также. Также знайте, что просто, потому что файл утверждает, что был текстовым файлом с тем расширением, не означает, что это. На Linux любой файл может быть любым типом, неважно, имя. Могли бы также быть текстовые файлы с другими расширениями или без расширения вообще.

1
12.02.2014, 02:27
2 ответа

Я обычно предлагаю получить следующие 8 файлов наряду с содержанием /home когда Вы хотите сохранить информацию пользователя о данной системе. Если какой-либо пользователь имеет sudo права, Вы будете часто хотеть создать резервную копию /etc/sudoers файл также. Дополнительно Вы могли бы хотеть получить дамп всего RPMs, установленного в системе. Таким образом, вот то, как я продолжил бы двигаться.

$ ls /etc/{passwd{,-},group*,{,g}shadow*,sudoers}
/etc/group   /etc/gshadow   /etc/passwd   /etc/shadow   /etc/sudoers
/etc/group-  /etc/gshadow-  /etc/passwd-  /etc/shadow-

Команды в качестве примера

$ sudo cp -p /etc/{passwd{,-},group*,{,g}shadow*,sudoers} /my/backup/dir/.
$ rsync -avz /home/* /my/backup/dir/homes/.
$ rpm -aq --liast > /my/backup/dir/rpm_list_$(date --iso-8601).txt

Содержание файла списка будет похоже на это:

mozilla-filesystem-1.9-9.fc19.x86_64          Sat 07 Dec 2013 08:46:35 PM EST
dejavu-fonts-common-2.33-5.fc19.noarch        Sat 07 Dec 2013 08:46:34 PM EST
telepathy-filesystem-0.0.2-5.fc19.noarch      Sat 07 Dec 2013 08:46:33 PM EST
setup-2.8.71-1.fc19.noarch                    Sat 07 Dec 2013 08:46:32 PM EST
fontpackages-filesystem-1.44-7.fc19.noarch    Sat 07 Dec 2013 08:46:31 PM EST
1
27.01.2020, 23:38
  • 1
    Таким образом, после установки новой машины, если я копирую эти файлы наряду с корневым каталогом, пользователь не будет даже знать, что разрушенная машина и новый сервер была установлена вместо этого? –  Ramesh 12.02.2014, 03:40
  • 2
    @Ramesh - корректный! Я также использую это в качестве метода для резервного копирования ключевых вещей в системе. При выполнении веб-сервера, Вы захотите скопировать /var/www также. –  slm♦ 12.02.2014, 03:41
  • 3
    Большинство дистрибутивов RH довольно доступно таким образом. –  slm♦ 12.02.2014, 03:42

Пароли хранятся в/etc/shadow и существует также/etc/shadow-, да я сказал бы, что это будет работать. Но протестируйте его, примерьте одного пользователя для запуска с.

1
27.01.2020, 23:38

Теги

Похожие вопросы