Халявный бэкап данных сервера на яндекс.диск
Сохранение резервных копий ваших данных — полезное мероприятие, которое может помочь избежать проблем, когда
В этой заметке я покажу как быстренько устроить автоматический бэкап данных в яндекс.диск. Яндекс дает бесплатно 10Гб. Если зарегистрируете диск по этой ссылке, то получите бонусом еще 1Гб.
Допустим у нас есть
В процессе потребуется утилита curl и папка «backups» на диске, которую нужно сходить и создать.
Создаем файл с произвольным именем. Например, в /home/username. И делаем его исполняемым.
1 2 3 |
cd /home/username touch backup-yd.sh chmod +x backup-yd.sh |
Содержимое с комментариями
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/bin/bash # переменная с именем таблицы в БД TABLENAME=awsometable # переменная с текущей датой DATE=`date +"%d-%m-%Y"` # имя файла для архива ARCFILENAME=superserver-${DATE}.tar.gz # делаем дамп таблицы 'awsometable' # вместо USERNAME и PASSWORD указываем имя пользователя и пароль MySQL mysqldump --opt --user=USERNAME --password=PASSWORD $TABLENAME > ${TABLENAME}.sql # архивируем каталоги (например, /etc, /home/username/awesomeapp) и файл и полученным дампом tar -czf $ARCFILENAME /etc /home/username/awesomeapp ./${TABLENAME}.sql # заливаем полученный архив в яндекс.диск # вместо YDUSER и YDPASSWORD вписываем эл.почту и пароль к диску curl --user YDUSER:YDPASSWORD -T $ARCFILENAME https://webdav.yandex.ru/backups/ # удаляем архив из файловой системы unlink $ARCFILENAME |
Сохраняем скрипт, запускаем и ждем завершения.
1 |
./backup-yd.sh |
Если не произошло никаких ошибок, то отправляемся в яндекс.диск и открываем папку «backups». Внутри должен лежать архив.
Добавим запись в cron для автозапуска процесса.
Назначим, например, на каждое воскресенье в 2 часа утра.
1 |
crontab -e |
Добавляем новую строку, исправив каталог и имя скрипта при необходимости.
1 |
0 2 * * 0 /bin/bash -l -c 'cd /home/username && ./backup-yd.sh > /dev/null 2>&1' |
Сохраняем, проверяем.
Теперь у вас есть халявные автобэкапы, ура!
Меня можно нанять. Напишите мне на эл. почту [email protected]
Ваш комментарий