Я делаю бэкап сайта (базы данных и файлов), кидаю их на сервере сайта и дублирую их на яндекс диск. Всё это через линуксовскую консоль bahs. На сервере я через тот же bash удаляю все бэкапы кроме последних 10.
Как это же реализовать на яндекс диске через bahs???
Вот код моего bahs скрипта:
#!/bin/bash
#
#Переменные Базы данных
DBHOST="Адрес MySQL сервера"
DBUSER="Имя пользователя базы данных"
DBPASS="Пароль пользователя базы данных"
DBNAME="Имя базы данных"
DBARC=$DBNAME.sql.gz
#
#Переменные WEBDAV
WEBDAVURL="Адрес Яндекс.Диск/"
WEBDAVUSER="Имя пользователя от Яндекс.Диска(Яндекс.Почта)"
WEBDAVPASS="Пароль от Яндекс.Диска"
#
#Переменные сайта
SCRIPTDIR="Абсолютный путь откуда запускается скрипт и где хранятся архивы"
SCRDIR="Абсолютный путь к сайту от корня диска"
#SCREXCLUDE="Что не попадет в архив"
SCRARC="Имя архива файлов сайта.tar.gz"
#
#Переменные Резерных копий
ARCNAME="Имя архивной копии сайта"=$(date '+%F(%H:%M)')".tar"
ARCMAX="Количество файлов в локальном хранилище"
#
#Переходим в корневую директорию вебсервера
cd $SCRDIR
#
#Создаем файловый архив со сжатием, учитываем исключения
tar cfz $SCRIPTDIR$SCRARC --exclude=$SCREXCLUDE *
#
#Возвращаемся в папку со скриптом, где лежат все архивы
cd $SCRIPTDIR
#
#Архивируем базу данных со сжатием
mysqldump -h$DBHOST -u$DBUSER -p'$DBPASS' --single-transaction > $DBNAME | gzip > $DBARC
#
#Объединяем файловый архив и дамп базы данных, теперь уже без сжатия
tar cf $SCRIPTDIR$ARCNAME $SCRARC $DBARC
#
#Отправляем результат в Яндекс.Диск
curl --user $WEBDAVUSER:$WEBDAVPASS -T $ARCNAME $WEBDAVURL
#
#Убираем промежуточные архивы
rm *.gz
rm $DBNAME
#
#Удаляем старые копии сайта, оставляем несколько свежих копий
ls -t *.tar | tail -n+$ARCMAX | xargs rm -f