Через Bash удалить самый старый файл на яндекс диске в определённой папке если файлов в ней больше 10, как?

Я делаю бэкап сайта (базы данных и файлов), кидаю их на сервере сайта и дублирую их на яндекс диск. Всё это через линуксовскую консоль 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
  • Вопрос задан
  • 845 просмотров
Пригласить эксперта
Ответы на вопрос 2
не нужно монтировать, этого может требовать политика безопасности на сервере
а вот удаленно вполне себе можно, по сути все тоже самое .
на кроне от рута монтируете получаете значения удаляете отмонтируете,
Поскольку монтировтаь нужно в RW то естественно обычным юзерам права обрезаете. и все
Вам могут понадобиться
find -type f
удалить самый старый файл
rm -rf $(ls /var/backup/site | head -1)
Если боитесь сразу выполнять, попробуйте что выдаст Вам команда
ls /var/backup/site | head -1

так же я бы оптимизировал ваш файл, и добавил бы в него не жестко базу данных а show databases в цикле и в таком случае новые бд будут попадать в скрипт автоматически, но это го в задаче небыло, просто комент.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы