Резервное копирование репозитория SVN и mysql базы данных на ежедневной основе

У меня нет доступа к DNSMAMSQ , но согласно этой теме под названием: DNSMAMSQ это кэширование? Вы можете отправить сигнал USR1 на процесс dnsmasq , заставляя его сбросить статистику в системный журнал.

$ sudo pkill -USR1 dnsmasq

Затем проконсультируйтесь с системными журналами:

$ sudo tail /var/log/syslog
Jan 21 13:37:57 dnsmasq[29469]: time 1232566677
Jan 21 13:37:57 dnsmasq[29469]: cache size 150, 0/475 cache insertions re-used unexpired cache entries.
Jan 21 13:37:57 dnsmasq[29469]: queries forwarded 392, queries answered locally 16
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.222.222#53: queries sent 206, retried or failed 12
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.220.220#53: queries sent 210, retried or failed 6

Примечание: Я считаю, что DNSMAMSQ сохраняет свой кеш в оперативной памяти.

Итак, если вы хотите выбросить кэш, вам нужно включить коммутатор -Q , когда вызывается DNSMAMSQ . Это упоминается в DNSMASQ PAGE PAGE:

   -d, --no-daemon
        Debug mode: don't fork to the background, don't write a pid file, 
        don't change user id, generate a complete cache dump  on
        receipt on SIGUSR1, log to stderr as well as syslog, don't fork new 
        processes to handle TCP queries. Note that this option is for use in 
        debugging only, to stop dnsmasq daemonising in production, use -k.

   -q, --log-queries
        Log the results of DNS queries handled by dnsmasq. Enable a full 
        cache dump on receipt of SIGUSR1.

0
06.03.2014, 22:54
2 ответа
[112295] Короткий ответ - да, для каждой из этих операций есть готовые инструменты:

Используйте [113201]zip

Используйте [113203] mysqldump

cp -r /old/folder /new/folder

Используйте [113205]tar

find . -type f ! -iname "*.txt" -delete

Используйте [113207]cp

cp -r /old/folder /new/folder && find . -type f ! -iname "*.txt" -delete

zip[112716], по моему опыту, не так уж часто. Вы получаете лучшее сжатие и сохранение большего количества специфических для Linux файловых метаданных, делая файл [112717].tar[112718] и сжимая его (например, с помощью [112719]xz[112720]).

find . -name "*.txt" -print0 |
     cpio -pmd0 /dest-dir

Нужно просто сделать скрипт, который будет выполнять все четыре задачи один за другим, и один раз, когда это сработает, вызывать этот скрипт ежедневно, используя [112721]cron[112722].[112302].

4
28.01.2020, 02:13
[112311]Простой подход

Обычный подход Unix к вещам заключается в том, чтобы дать вам инструменты, которые делают изолированные задачи и способы соединить их друг с другом самостоятельно. Так, например,
  • cron[113212], чтобы запланировать задачи для регулярного запуска
  • многочисленных программ для создания архивов, [113213]zip[113214] делает zip-файлы. Обратите внимание, что вы можете также использовать [113215]svnadmin hotcopy[113216]; проверьте документы Subversion на наличие процедур резервного копирования.
  • mysqldump[113218] делает sql дампы баз данных MySQL. Есть и другие опции, такие как [113219]Percona Xtrabackup[113220]. Вы должны просмотреть документы для этих инструментов, а также для MySQL; резервное копирование баз данных является (или, по крайней мере, может быть) нетривиальным.

Tar файлы, конечно же, сделаны с помощью [113221]tar[113222]. Хотя мне непонятно, зачем их копировать.

cp[113224] используется для копирования файлов. Есть еще несколько инструментов, используемых в других ситуациях (например, [113225]scp[113226] и [113227]rsync[113228]).

Есть несколько инструментов, которые обычно используются в качестве клея, чтобы удерживать их вместе. Наиболее распространенным из них является скриптинг оболочки. Сценарий оболочки выглядит примерно так:

Обратите внимание на то, что это просто команды, как будто вы вводите их в оболочку. Конечно, это может быть сложнее - вы можете включать переменные, циклы, кондиционеры и т.д. (Вы можете использовать их и в командной строке оболочки.)

Сложный подход

Этот подход не всегда верен. Когда ваши скрипты резервного копирования начинают достаточно усложняться, вы должны задаться вопросом [112741], действительно ли [112742] работает?[112744], затем вы переходите к системе резервного копирования. Они обрабатывают такие вещи, как планирование резервного копирования, повторные попытки в случае неудачи, создание отчетов, резервное копирование на нескольких машинах, ....

  1. Пара, которую я использовал:
  2. Backup PC[113230] - Хорошо подходит для небольших инсталляций с резервным копированием только на диски. Наверное, с этого и стоит начать.
  3. Bacula[113232] - В настоящее время я использую вот это. Он хорошо справляется как с резервным копированием на диск, так и с резервным копированием на запись. ОЧЕНЬ сложнее настроить, чем BackupPC.
  4. AMANDA[113234] - Давненько я этим не пользовался, вместо этого переключился на Bacula. Когда я в последний раз пользовался им, в первую очередь он использовался для записи резервных копий.
  5. У каждого из них есть своя документация; я не буду пытаться повторить ее здесь (по крайней мере, для Bacula, ее сотни страниц).

Заключительная заметка

  1. Резервные копии должны быть протестированы, и проверяться регулярно. Вы не должны рассматривать возможность создания резервной копии до тех пор, пока не протестируете ее восстановление. Например, при восстановлении вы можете обнаружить, что во время резервного копирования вы не заметили ошибку, а на самом деле у вас нет резервной копии критической таблицы. Если вы обнаружите это при тестировании, вы сможете это исправить. Если вы узнаете об этом только после катастрофы...[112334]
4
28.01.2020, 02:13

Теги

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