Первая часть была тут .
Усовершенствованный скрипт для бекапа. Добавлено разделение по базам данных.

#!/bin/sh
BACKUPDATE=`date +%Y-%m-%d`;
REMOTESERVER=11.22.33.44
HOSTNAME=`hostname`
BACKUPDIR=/backup/${HOSTNAME}_${BACKUPDATE}

mkdir -p ${BACKUPDIR}
for i in `mysql -u user -ppass -e’show databases;’ | grep -v information_schema | grep -v Database`; do mysqldump —default-character-set=koi8r -u user -ppass $i | gzip -9 > /root/mysql/$i-`date +%Y-%m-%d`.gz.sql;done
tar -czf ${BACKUPDIR}/mysql-`date +%Y-%m-%d`.tar.gz /root/mysql/*
tar -czf ${BACKUPDIR}/home-`date +%Y-%m-%d`.tar.gz /home/*
tar -czf ${BACKUPDIR}/apache-confs-`date +%Y-%m-%d`.tar.gz /etc/httpd/conf/*
tar -czf ${BACKUPDIR}/named-zones-`date +%Y-%m-%d`.tar.gz /var/named/*
tar -czf ${BACKUPDIR}/named-conf-`date +%Y-%m-%d`.tar.gz /etc/named.conf
scp -Cr /backup/${HOSTNAME}_${BACKUPDATE} root@${REMOTESERVER}:/backup/
rm -f /root/mysql/*

Еще несколько ссылочек.

18 responses


Do you want to comment?

Comments RSS and TrackBack Identifier URI ?

Саня — маладец. Сила джедая всегда с тобой будет))

Март 27, 2009 10:31 пп

Не подскажешь я хочу сделать такую вещь. Бэкап базы данных. Имя бэкапа — текущая дата — время. С этим я разберусь, но хочу сделать еще и скрипт, который восстанавливал бы последний имеющийся бекап. Как в скрипте взять последний созданный файл и передать его имя в переменную?

Апрель 29, 2009 2:40 дп

По коду щас точно не скажу, алгоритм примерно такой:
получить список файлов из директории с бекапами в массив $Array
rsort($Array);
$Array[0] = последний дамп, который ты сделал.
exec(«mysqldump -u user -ppass dbname < $Array[0]«);
Вот как то так.

Апрель 29, 2009 11:24 дп

это под php, для линуха впринципе не суть важно на чем скрипт, на баше или на пхп

Апрель 29, 2009 11:25 дп

Хотелось бы все таки на баше сделать.
Для поиска последнего созданного файла использую такую конструкцию.
#!/bin/sh
for i in $(ls -rt);do
done
echo $i

Апрель 29, 2009 1:20 пп

Кстати, если делать скрипт на пхп, то первая строчка как будет выглядеть? где искать исполняемый файл?

Апрель 29, 2009 1:21 пп

По поводу баша — пхп из под шелла работает не медленнее.
Для пхп надо искать где он стоит
which php
whereis php
обычно она такая #!/usr/bin/php
Прописывать не обязательно, можно запускать командой php ./script.php
ПыСы
Твоя конструкция на пхп под шелл
$last_file = exec(«ls | sort —reverse»);
Все проще чем я думал

Апрель 29, 2009 1:46 пп

сварганил свой первый бекап скрипт, который перед заливкой файлов на фтп — кодирует их
 
сильно не казните … знаю что чуток корявый вышел…..

Январь 12, 2010 7:09 пп

teaseo, ну норм, че ))
С удалением файлов не стал поэму писать в одну строку, через баш сделал ))
Ну и самое основное — а где бекап то? )) Сейчас там только закодировать гзип и залить на фтп ))

Январь 12, 2010 10:27 пп

я использую virtualmin.com , бекы он делает, но кодировать не умеет и вот так я ему помог тоесть твой скрипт можно вмести с эти соединить, кому надо будет,  а вот из минусов то что
curl -v -T «$myfile».out ftp://login:«FTppassThere»@ftpserveraddres.com/${BACKUPDATE}/»$myfile» -Q «MKD ${BACKUPDATE}»;
curl -v -T «$myfile».out ftp://login:«FTppassThere»@ftpserveraddres.com/${BACKUPDATE}/»$myfile» ;

тоесть логика та что
1)залить в папку, создать её
2)залить в папку, (не создавать)
тоесть если это первый раз то папка создаётся и заливается а второй бекап уже при 1 вызовет ошибку так как папка создана,
а зато успешно будет заливатся 2-й коммандой

Январь 13, 2010 10:36 дп

Попробуй через scp сделать, он вроде создает папки при их отсутствии.

Январь 13, 2010 11:43 дп

хех scp  не всем дают ..,
кстатит  как ты добавил к вордпресу .html (в урле)?
 

Январь 13, 2010 11:53 дп

хех scp не всем дают

наверно если шелл есть, то и scp есть

кстатит как ты добавил к вордпресу .html (в урле)?

wp-admin/options-permalink.php—>
Произвольно—>
/%postname%.html или что душе угодно ставишь

Январь 13, 2010 1:05 пп


очень простенький, лучше бы разбивать бд в разные файлы

Октябрь 6, 2010 3:42 пп

Завраб, разбивать ниразу не лучше. И качать один файл удобнее и импортировать.

Октябрь 6, 2010 3:52 пп



Comment now!
















1