Crmgo Blog

Backup of the database and website files to another server

Backup of the database and website files to another server

Backup of the database and website files to another server
#!/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

 

Note: This post may be AI-assisted and then human-edited. Editorial responsibility: Dmytro Lomaka, Kaltenkirchen.