Answer the question
In order to leave comments, you need to log in
Backup linux (folder + database) with sending to windows?
Hello. How can such a problem be solved?
I have my computer (windows) and a VPS with ssh access (debian + postgresql)
How can I make a backup (db + photo folder) and send it to me on my windows? Are there any ready made solutions?
Answer the question
In order to leave comments, you need to log in
will go? only wput needs to be delivered because it allows you to limit the speed
, you can also backup a separate site in the console by doing this scrypt.sh site.ru in this case, not all sats will be dumped, but only 1. Sharpened for Bitrix here, the databases also add up to sites. If you just need all the database, then you need to change 2 lines and ask mysql for the list of databases and dump them in a loop
#!/bin/sh
# Пример пути до сайта /var/www/site.ru/web/
SITEDIR="/var/www" # Папка до названия доменаов
WEB="web" # Папка после названия доменов (если есть)
DBCONN="bitrix/php_interface/dbconn.php" # Откуда читать настройки mysql
FTPUSER="1111111" # Логин FTP сервера
FTPPASS="22222222" # Пароль FTP
FTPHOST="u113948.site.ru" # сервер FTP
FTPDIR="/ks03.ru/site/" # папка на FTP
TMPDIR="/var/backup/site" # Где будут храниться временные файлы
DATE=`date +"%Y-%m-%d"` # Формат даты в имени файла
DATEYM=`date +%Y`/`date +%m` # Второй форматы даты
LIST=${1:-`ls -L $SITEDIR | grep -E ".*\.\w{1,5}" | grep -v "restore.php" | grep -v "klondike.php"`} # Название сайта, тут выбор или аргумент или, регулярка можно убрать только -L ;) ( не брать вот эти файлы )
test ! -d $TMPDIR/$DATEYM && mkdir -p $TMPDIR/$DATEYM # создаем структ уру каталогов если их нет
for ELEMENT in $LIST
do
if [ ! -f /$SITEDIR/$ELEMENT/$WEB/$DBCONN ];
then
echo " Файл $SITEDIR/$ELEMENT/$WEB/$DBCONN не найден, сайт будет без БД!"
else
mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql && echo "Дамп БД $DBNAME будет сохранен в корне сайта" || echo "Ошибка дампа базы данных " $DBNAME
fi
echo "MySql, чтоб вам прям ну совсем не марать ручки"
echo "$DBLOGIN"
echo "$DBPASS"
echo "$DBNAME"
echo "Архивируем сайт $ELEMENT"
tar -cvpzf $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
echo "Сохраняем $ELEMENT на FTP"
echo "wput --basename=$TMPDIR --limit-rate=60000K --timestamping --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR"
wput --disable-tls --basename=$TMPDIR --limit-rate=60000K --timestamping --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
rm -f $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz
echo -en "\n\033[37;1;41m Ссылочка:\033[0m \e[1;4;36mwget ftp://u148-sub4:[email protected]$FTPHOST/$DATEYM/$ELEMENT-$DATE.tar.gz\e[0m\n\n" #ks02
done
rm -r $TMPDIR
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question