Попросил программист настроить отдельный бекап базы, да так что бы сливалось на dropbox, раз в сутки. Все это дело надо делать на ВПС созданным непонятными админами – на ВПС отсутствует поддержка fuse, зачем то заблокирован на ноде доступ к дропбоксу, отключены поддержка nat, tun и еще неизвестно что еще.
Дабы не прибегать к помощи админов хостера которые продавал клиенту ВПС (по опыту уже проходил – то по смс нужно верификация, то еще дайте копию паспорта, то нужно голосовая идентификация, то не знаю что им еще в голову взбредет), вобщем то не было никакого желания общаться с ними, тратить свое время, по этому сделал проще – у того же клиента есть дедики с настроенными бекапами на дропбокс, по этому для меня задача встала в простой однострочный скрипт на bash что бы скрипт
– Делал дамп всех баз
– не занимая места на ВПС сливал в нужную директорию на удаленный сервер
– проверял на удаленном сервере наличие нужно директории и если ее нет создавал
– проверял наличие директорий старше 30 дней и все что старше удалял
Однострочный скрипт написал быстренько, проверил все кроме удаления (проверю через 30 дней, как доживу).
1 2 3 4 |
for i in `mysql -e 'show databases;'|grep -v \+|egrep -v "Database|information_schema|performance_schema"`;do mysqldump $i|gzip -c\n |ssh root@2.2.2.2ф 'if [ ! -d "/root/Dropbox/1.1.1.1/db/`date +%Y-%m-%d`" ]; then mkdir /root/Dropbox/1.1.1.1/db/`date +%Y-%m-%d`; fi;\n find /root/Dropbox/1.1.1.1/db/`date +%Y-%m-%d` -type d -mtime +30 -delete; cat >/root/Dropbox/1.1.1.1/db/`date +%Y-%m-%d`/'$i\n '-`date +%Y-%m-%d`.sql.gz';done |
Принимаю варианты “улучшения” скрипта 🙂