Звучит банально, но важность бэкапов сложно переоценить. Как правило, если вас угораздило арендовать VPS, то в погоне за экономией мало кто включает в стоимость и ежедневные бэкапы.
Да и недорогой VPS имеет диск по размеру ну явно меньше средней по размеру флешки. Ну и конечно же, делать бэкапы на тот же компьютер - несколько опрометчиво.
Вывод - делать бэкап на сторонний сервис.
Уже порядка года использую довольно пуленепробиваемое решение - складирую бэкапы по FTP на публичый "файловый хостинг", у которого этот самый ftp upload есть. Их много, можно подобрать с наименее тошнотворным интерфейсом. Звучит немного странно - бэкап на файловый хостинг, но все становится на свои места, если учесть, что файлы копируются в зашифрованном виде.
Из программ нам понадобится:
- wput - "wget наоборот" - есть почти в любом Unix
- bcrypt - утилита для BlowFish шифрования файлов - можно либо собрать, либо поставить. Очень рекомендуется сохранить ее архив с исходным кодом, ибо утилита немолодая. Хотя ее можно чем-нибудь заменить.
- expect - стандартная распространенная утилита для обработки команд, использующий диалоговый режим
Ниже приводится пример двух скриптов, обеспечивающих бэкап произвольного количества директорий.
Итак, предположим, что все “запчасти” есть в системе - пишем скрипт.
Один скрипт будет запускаться из другого, так что понадобятся оба файла.
my_backup.sh
1 |
|
Ок, первый скрипт есть. Некоторые пояснения:
- Скрипт пакует директории. Они перечислены вначале и имена разделены пробелом
- Также умеет паковать mySQL бэкапы. В случае с sqlite - этот кусок можно закомментировать
- Криптование архивов перед загрузкой происходит еще одним скриптом, подробности дальше
bwfile.sh
1 | #!/usr/local/bin/expect |
Обратите внимание, что скрипт не шелловский, а команды expect. Конечно bcrypt - древняя утилита, но работает “как надо”, почему бы ей не воспользоваться.
Ну а дальше все просто. Подбираем хостинг по вкусу (их было ОЧЕНЬ МНОГО до недавнего скандала с файлообменниками), настраиваем на наш environment - и тестируем.
Если все ок - в панели управления файлообменника появятся новые файлы с бэкапами.
Быстро, бесплатно, без СМС :-)
Да, кстати, если вдруг бэкап понадобится восстановить - для начала его нужно будет дешифровать bcrypt’ом. Именно поэтому и рекомендуется хранить хотя бы его исходник.