Каков наиболее эффективный способ реализации задачи cron для резервного копирования базы данных MySQL и отправки ее по электронной почте самому себе?


0

Какой самый эффективный способ автоматически создать резервную копию базы данных MySQL, распаковать ее и отправить по электронной почте в конкретную учетную запись?

Я немного параноидален по поводу потери базы данных моего форума, и я обычно занят в течение недели и часто забываю делать еженедельное резервное копирование (вместо этого, делать раз в две недели или ежемесячно, что не так уж плохо, но менее часто, чем я хотел бы). Настроить его с помощью cronjob и электронной почты (или FTP / SFTP, как я только что понял, что одна из баз данных будет слишком большой для размещения в электронном письме) будет намного проще, а также менее подвержено риску. чтобы я забыл.

Как я сейчас на это смотрю

mysqldump dbname & gt; YYYY-MM-DD_dbname.sql gzip YYYY-MM-DD_dbname.sql Либо отправьте YYYY-MM-DD_dbname.sql.gz в качестве вложения к адресу электронной почты, либо {S,} отправьте его по FTP на другой сервер и отправьте электронное письмо, сообщающее мне об успешном выполнении резервного копирования и передачи.

Есть ли лучший способ сделать это? Какие-нибудь примеры того, как вы это сделали?

Ответы:


1

Я не думаю, что вы можете сделать намного лучше, чем у вас есть. Я бы, наверное, использовал что-то вроде следующего:

  • создать дамп базы данных
  • сжать или сжать другим способом (технически необязательно)
  • использование scp или же rsync скопировать файл на другой сервер
  • запустить контрольную сумму на удаленном сервере, чтобы проверить копию (необязательно)
  • удалить исходный дамп базы данных (необязательно)
  • отправить электронное письмо с указанием успеха

Или, если какой-либо шаг этого не удастся, выйдите и немедленно отправьте электронное письмо с объяснением ошибки. (Я предполагаю, что у вас есть необходимые инструменты, например, rsync или же scp, sha1sum или же md5sum, gzip, mail или же sendmail или эквивалент)


Я бы не пометил часть контрольной суммы как необязательную. В тот день, когда дБ вылетает, и вы все счастливы, потому что у вас есть недавняя резервная копия, только чтобы узнать, что она была повреждена, я не хотел бы испытать это. Кроме того, я бы, вероятно, использовал xz вместо gzip, только потому, что полученный файл меньше по размеру.
tamtakos

@tamtakos: если вы пропустите шаг контрольной суммы, если с остальными шагами ничего не случится, дамп базы данных будет перенесен. Это делает это необязательным. (В отличие от, скажем, scp шаг, который нельзя пропустить) Я думаю, вы хотите сказать, что контрольная сумма должна настоятельно рекомендоваться, и с этим я согласен
David Z
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.