Crmgo Blog

Бекап базе и фајлова сајта на други сервер

Бекап базе и фајлова сајта на други сервер

Бекап базе и фајлова сајта на други сервер
#!/bin/sh
### скрипт бекапа базы и файлов сайта и перенос на удаленный сервер через ssh
### Написал Ломака Дмитрий Киев 2012
################# менять на свое ###
sourcedir="/var/www/sitename/data/www/sitename/" #путь к файлам сайта, которые будут бекапится
destinationdir="/home/backup/sitename/" # куда локально сливать бекап
dateb="$(date -I)" #формат даты, исспользуется в названии бекапа
mysqlbase="name" # название базы
mysqluser="user" # имя пользователя к мускулу
mysqlpassword="pass" # пароль к мускулу
logfile="/var/log/lomixbackup.log" # куда писать логи
remoteserver="root@backup.lomix.com.ua:/backup/sitename/" # путь к удаленному серверу
################# не менять на свое ##############

arhivefile=$destinationdir"files_"$dateb".tar.gz"
dumpfile=$destinationdir"base_"$mysqlbase"_"$dateb
echo $(date) " start arhive "$arhivefile  >> $logfile
tar -czvf $destinationdir"files_"$dateb".tar.gz" $sourcedir
echo $(date) " start make mysqldump "$mysqlbase  >> $logfile
mysqldump -f --user=$mysqluser --password=$mysqlpassword $mysqlbase > $dumpfile".sql"
echo $(date) " start arhive mysqldump "$mysqlbase  >> $logfile
tar -czvf $dumpfile".tar.gz" $dumpfile".sql"
#rm $dumpfile".sql"
echo $(date) " start scopy files to  "$remoteserver  >> $logfile
# при исспользовании scp без ввода паролей исспользуйте идентичные ключи шиврования (ssh-keygen)
scp $arhivefile $remoteserver
scp $dumpfile".tar.gz" $remoteserver
echo $(date) " ####################### END"  >> $logfile

 

Napomena: tekst može biti uz pomoć AI uz ljudsku proveru. Odgovoran: Dmytro Lomaka, Kaltenkirchen.