скрипт бэйкапа dir and mysql

Статус
В этой теме нельзя размещать новые ответы.

ilya-bunker

Создатель
Регистрация
5 Май 2009
Сообщения
48
Реакции
6
наверно глупый вопрос, но есть ли какой нибудь инструмент для бэйкапа папок и mysql

могу сам написать, ничего сложного... но лень...

может у кого нить есть ?

Добавлено через 2 минуты
mysql можно быйкапить через mysqldump потом сжимать в архив через tar
папки через тот же tar...
автоматизировать можно через cron


но хотелось бы иметь что нибудь уже написанное, юзаю gentoo linux
 
А чего тут писать-то... Вот пожалуйста пример:
Код:
#!/bin/sh
tar cvfz - /etc > /usr/local/backup/etc.tar.gz
tar cvfz - /usr/local/etc > /usr/local/backup/usr_etc.tar.gz
tar cvfz - /usr/local/www > /usr/local/backup/www.tar.gz
Код:
#!/bin/sh
mysqldump --opt --user= --password= database > /usr/local/backup/database.sql
И в cron воткни. При желании, можно также наладить передачу на ftp, на стример или еще куда..

UPD: Это если просто. Если простых путей не ищешь, то воспользуйся вот этой софтой
 
Для бекапа баз MySQL использую след. скрипт:
Доступен для чтения только руту (так как в скрипте хранится рутовый пароль к базе), папка в корне, в которую бэкапит, тож только для рута.

PHP:
#!/bin/bash
DIR="/backups/mysql_dump"
mkdir -p $DIR
LOG="/var/log/mysql_dump.log"
touch $LOG
TIMENAME=`date +%d.%m.%Y-%H.%M`
db=`mysql -u root -h localhost -pРУТОВЫЙ_ПАРОЛЬ_МУСКУЛА -Bse 'show databases'`
for n in $db; do
        TIMEDUMP=`date '+%T %x'`
        echo "backup has been done at $TIMEDUMP : $TIMENAME on db: $n" >> $LOG
        mysqldump -u root -h localhost -pРУТОВЫЙ_ПАРОЛЬ_МУСКУЛА $n | gzip -c > "$DIR/mysql-$TIMENAME-$n-db.dump.gz"
done
 
мой скрипт

ну я думаю что стоит посмотрет и на мой скрипт
не копируйте только , а смотрите внимателно
если кодировка на mysql другая , то меняйте или удалите ето параметр!

Код:
!/bin/bash
dbname="4images123"
dbhost="localhost"
dbuser="4img"
dbpw="4imgpass"
webrootdir="/home/domain.com/www/" # (e.g.: webrootdir=/home/user/public_html)
tarnamebase="domain-" # ime an backup-a
datestamp=`date +'%m-%d-%Y'`
startdir=`pwd`
tempdir=$datestamp
if test "$1" = ""
then
tarname=$tarnamebase$datestamp.tgz
else
tarname=$1
fi
mkdir $tempdir
cd $webrootdir
tar cf $startdir/$tempdir/filecontent.tar .
cd $startdir/$tempdir
mysqldump --user=$dbuser --password=$dbpw  --default-character-set=cp1251 --add-drop-table $dbname > dbcontent.sql
tar czf $startdir/$tarname filecontent.tar dbcontent.sql
cd $startdir
rm -r $tempdir

използувал его на cpanel где backup отключен
работает хорошо ..... ставил его в кронтаб
 
вот мой скриптик, очень гибкий и расширяемый
*** скрытое содержание ***
вот я не уверен что ето нужно

if [ ! $( id -u ) -eq 0 ]; then
echo "You need root privileges run this script. Script Aborted"

а и так .....юзер скопирует ... скрипт не сработает , потому что юзер не роот :))
 
И хорошо, что просто юзер не заюзает. Может повезет и сам допилит напильником;)
так сказать левел-ап
всего-то кильнуть
Код:
if [ ! $( id -u ) -eq 0 ]; then
echo "You need root privileges run this script. Script Aborted" >> $LOGFILE
exit
fi
 
А чего тут писать-то... Вот пожалуйста пример:
Код:
#!/bin/sh
tar cvfz - /etc > /usr/local/backup/etc.tar.gz
tar cvfz - /usr/local/etc > /usr/local/backup/usr_etc.tar.gz
tar cvfz - /usr/local/www > /usr/local/backup/www.tar.gz
Код:
#!/bin/sh
mysqldump --opt --user= --password= database > /usr/local/backup/database.sql
И в cron воткни. При желании, можно также наладить передачу на ftp, на стример или еще куда..
UPD: Это если просто. Если простых путей не ищешь, то воспользуйся вот этой софтой *** скрытое содержание ***

спс, не совсем то что нужно но спс :)
 
написал свой скрипт, бейкапятся все базы по отдельности, если кому надо то вылажу... + бейкапятся все нужные мне конфиги
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху