Бекап на Яндекс диск

12
D
На сайте с 28.06.2008
Offline
1101
#11
DenisVS:
Разбираться в сложных вещах — это не значит расковыривать всё подряд до атомов. На это жизни не хватит.

эм... как бы выше я специально уточнял что фанат простоты... Или вас просто потянуло на заумные цитатки?

Dram:
В моем понимании "просто" - это один баш скрипт и 20-50 строк кода. Есть нечто подобное, что повесил на крон и забыл?



Вот что мне нужно:

#!/bin/bash
# Задаем формат даты
TIME=`date +%Y-%b`

#FILES=/tmp/www.$TIME.tar.gz
MYSQL=/tmp/mysql.$TIME.sql.gz

# Создаем архив базы MySQL
mysqldump -u root -pПАРОЛЬ ИМЯ-БАЗЫ | gzip > $MYSQL

# Загружаем данные
curl --user ЛОГИН@yandex.ru:ПАРОЛЬ -T "{$FILES,$MYSQL}" https://webdav.yandex.ru/

при запуске бекап базы создается но на Яндекс не уходит, в чем косяк?



root@mysql ~ # sh /root/b.sh
: not found 4: /root/b.sh:
: not found 7: /root/b.sh:
: not found 10: /root/b.sh:
curl: Can't open ''!
curl: try 'curl --help' or 'curl --manual' for more information
'!ql.gzan't open '/tmp/mysql.2017-Jul
curl: try 'curl --help' or 'curl --manual' for more information
: not found 13: /root/b.sh:

dotern
На сайте с 21.09.2016
Offline
123
#12

Рабочий скрипт, проверял

#!/bin/bash

#
#ver 1.0
#
#Переменные Базы данных
DBHOST="localhost" #Адрес MySQL сервера
DBUSER="bd_user" #Имя пользователя базы данных
DBPASS="dBpAsS" #Пароль пользователя базы данных
DBNAME="db_name" #Имя базы данных
DBARC=$DBNAME.sql.gz #Имя архива базы данных
#
#Переменные WEBDAV
WEBDAVURL="https://webdav.yandex.ru/backup/" #Адрес Яндекс.Диск. Папка должна существовать!
WEBDAVUSER="my-mail-login@yandex.ru" #Имя пользователя от Яндекс.Диска (Яндекс.Почты)
WEBDAVPASS="MyPasWordAtYandexMail" #Пароль от Яндекс.Диска
#
#Переменные сайта
SCRIPTDIR="/home/serveruser/backup/" #Абсолютный путь откуда запускается скрипт и где храняться архивы
SCRDIR="/home/serveruser/web/mydomain.com/public_html/" #Абсолютный путь к сайту от корня диска
SCREXCLUDE="webstat" #Что не попадет в архив
SCRARC="public_html.tar.gz" #Имя архива файлов сайта
#
#Переменные Резерных копий
ARCNAME="mydomain.com"=$(date '+%F(%H:%M)')".tar" #Имя архивной копии сайта
ARCMAX="30" #Количество файлов в локальном хранилище
#
#Переходим в корневую директорию вебсервера
cd $SCRDIR
#
#Создаем файловый архив со сжатием, учитываем исключения
tar cfz $SCRIPTDIR$SCRARC --exclude=$SCREXCLUDE *
#
#Возвращаемся в папку со скриптом, где лежат все архивы
cd $SCRIPTDIR
#
#Архивируем базу данных со сжатием
mysqldump -h$DBHOST -u$DBUSER -p$DBPASS $DBNAME | gzip > $DBARC
#
#Объединяем файловый архив и дамп базы данных, теперь уже без сжатия
tar cf $SCRIPTDIR$ARCNAME $SCRARC $DBARC
#
#Отправляем результат в Яндекс.Диск
curl --user $WEBDAVUSER:$WEBDAVPASS -T $ARCNAME $WEBDAVURL
#
#Убираем промежуточные архивы
rm *.gz
#
#Удаляем старые копии сайта, оставляем несколько свежих копий
ls -t *.tar | tail -n+$ARCMAX | xargs rm -f
D
На сайте с 28.06.2008
Offline
1101
#13

dotern, то что нужно!!!! СПС!!! Чуток изменил под свои нужды, все работает!

I
На сайте с 05.06.2006
Offline
117
#14

Dram, При запуске первого скрипта нужно верный интерпретатор выбирать. Указано bash, вызываем

# /bin/bash /root/b.sh

И все работает ;)

Миграция с ISPManager 4 в VestaCP (https://chast.in/copy-users-from-ispmanager-2-vestacp.html) Хостинг серверов, пользуюсь сам (http://vps-server.ru/rp/pl.php?96)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий