Cоздания независимого автоматического бэкапа Beget
Система автоматических бэкапов создает резервные копии раз в 1‒3 дня. При принятии решения, делать бэкап или нет, учитывается много факторов: количество изменений на аккаунте за последнее время, загруженность сервера, объем данных и другие. Гарантировать какую-то частоту создания или длительность хранения копий мы не можем.
Для создания независимого автоматического бэкапа добавьте в CronTab задание на выполнение скрипта:
#!/bin/bash # Количество дней для хранения копий days=14 # Путь к папке с файлами для хранения файлов копий backup_dir="backups" # Имя директории сайта site_dir="yoursite.com" # Имя базы данных db_name="login_db" # Пароль для доступа к базе данных db_pass="Mpo2Dkm" d=`date +%F-%H:%M:%S` mkdir -p $backup_dir 2>/dev/null # Удаление старых файлов копий find $backup_dir -name "*autobackup.tar.gz" -type f -mtime +$days -delete # Дамп базы данных dump_name="$site_dir/dump-$d.sql" mysqldump -h localhost -u$db_name $db_name -p"$db_pass" > $dump_name # Архивирование файлов tar cvvzf "$backup_dir/$site_dir-$d-autobackup.tar.gz" $site_dir rm $dump_name
Можно дополнительно настроить копирование получившейся копии на внешние ресурсы, например, на Яндекс.Диск. Для этого в конец скрипта допишите такую строку:
curl -T "$backup_dir/$site_dir-$d-autobackup.tar.gz" -u"имя_пользователя_на_Яндексе:пароль_на_Яндексе" https://webdav.yandex.ru/
Сохраните скрипт в любой папке на аккаунте с расширением .sh
и дайте файлу права на исполнение такой командой:
$ chmod u+x backup.sh
Данный скрипт предоставляется as is, и мы не несем никакой ответственности, если он будет работать некорректно или не будет работать вовсе.
Может быть полезно:
0 комментариев