Deutsch
Germany.ruФорумы → Архив Досок→ Linux & Co

Простой автобекап базы mysql

24.06.09 14:58
Простой автобекап базы mysql
 
alexnaum местный житель
alexnaum
В общем, решил настроить регулярный бекап по расписанию удаленной бд средствами mysql, так как заметил, что сторонние программы очень ненадежны - то там то тут ошибки...
Задача такая:
Находясь в линукс - или freebsd - локальной машине, необходимо подключиться по ssh, соединиться с хостом удаленной базы - бд и сайт на разных хостах - после чего выполнить mysqldump и затем полученный дамп скопировать себе в папку. Нужно, чтобы все это дело последовательно обрабатывалось простым скриптом и было записано в крон - в принципе, все основное таким именно простейшим в одну строчку скриптом сделал, вышло где то так:
В ответ на:
#!/bin/sh
BACKUPFILE=.home/user/dumps/db_`date +%H:%M_%d%m%y`.sql.gz
ssh user@mysite.com 'mysqldump -u dbuser -ppassword db_mydb -h dbhost | gzip' > ${BACKUPFILE}

Ну вот, в принципе, прописал в кроне и все работает. Имена специально хочу делать с датой и временем, и вот почему.
Единственное, что не могу понять. Надо, чтобы этих дампов не собиралось там очень уж много.Ну скажем, я делаю бекап регулярно, каждый час. Нафига мне там 24 штуки в сутки чтобы хранились и копились? Надо добавить, чтобы скрипт выполнял проверку на число файлов в директории, и если их там больше скажем 3-х, все старые удалял, оставляя только 3 последних, по времени создания или по именам файлов,в которых как раз продублировано время создания.
если кто подскажет, буду признателен.
 

Перейти на