Скрипт бекапа в ЯД
-
- Posts: 1
- Joined: Wed Jan 10, 2018 8:49 am
- Os: CentOS 5x
- Web: nginx + php-fpm
Скрипт бекапа в ЯД
Доброго дня
Помогите адаптировать скрипт который до конца декабря работал, теперь
---
#!/bin/bash
for r in $(find /backup/ -name "*$(date "+%Y-%m-%d").tar");do /usr/local/bin/ydcmd put $r disk:/backup/$(date "+%Y-%m-%d")/;done
/usr/local/bin/ydcmd rm disk:/backup/$(date "+%Y-%m-%d" -d "30 days ago")
---
Cron выдает - HTTP-404: Resource not found....
Помогите адаптировать скрипт который до конца декабря работал, теперь
---
#!/bin/bash
for r in $(find /backup/ -name "*$(date "+%Y-%m-%d").tar");do /usr/local/bin/ydcmd put $r disk:/backup/$(date "+%Y-%m-%d")/;done
/usr/local/bin/ydcmd rm disk:/backup/$(date "+%Y-%m-%d" -d "30 days ago")
---
Cron выдает - HTTP-404: Resource not found....
Re: Скрипт бекапа в ЯД
Здравствуйте. В 18 версии изменилось название бекапов
Добавились часы, минуты, секунды
Code: Select all
"%Y-%m-%d_%H-%M-%S"
Re: Скрипт бекапа в ЯД
За то восстанавливать не возможно из-за этим минут, часов, приходиться переименовывать бекап.imperio wrote:Здравствуйте. В 18 версии изменилось название бекаповДобавились часы, минуты, секундыCode: Select all
"%Y-%m-%d_%H-%M-%S"
Я понимаю что нужно извращаться под LInux.
Re: Скрипт бекапа в ЯД
В смысле?Я не проверял,возможности нет но мало ли.Развернуть бекап не получается и нужно приводить бекап к названию которое было раньше?Mr.Erbutw wrote:За то восстанавливать не возможно из-за этим минут, часов, приходиться переименовывать бекап.imperio wrote:Здравствуйте. В 18 версии изменилось название бекаповДобавились часы, минуты, секундыCode: Select all
"%Y-%m-%d_%H-%M-%S"
Я понимаю что нужно извращаться под LInux.
Re: Скрипт бекапа в ЯД
Попробуйте данный фиксMr.Erbutw wrote:За то восстанавливать не возможно из-за этим минут, часов, приходиться переименовывать бекап.imperio wrote:Здравствуйте. В 18 версии изменилось название бекаповДобавились часы, минуты, секундыCode: Select all
"%Y-%m-%d_%H-%M-%S"
Я понимаю что нужно извращаться под LInux.
https://github.com/serghey-rodin/vesta/ ... 9d72441fd1
Re: Скрипт бекапа в ЯД
Вот интересно — зачем? :)imperio wrote:Здравствуйте. В 18 версии изменилось название бекаповДобавились часы, минуты, секундыCode: Select all
"%Y-%m-%d_%H-%M-%S"
Лучше бы добавили возможность делать бекапы баз данных по выбору, из панели. Ну да ладно, хотели как лучше, а получилось, как всегда.
Для работы старого скрипта бекапа на Яндекс, достаточно вот это
Code: Select all
$(date "+%Y-%m-%d").tar")
Code: Select all
$(date "+%Y-%m-%d_*").tar")
Кстати, может кому-то пригодится мой скрипт для бекапа баз данных на Яндекс.Диск. Например, для активных сайтов, когда данные очень часто меняются и иметь бекап БД нужно раз в час или полчаса, а полного бекапа сайтов достаточно и раз в сутки.
Code: Select all
#!/bin/bash
# The screenplay was written by Sitego
# Скрипт бекапа баз данных с отправкой на Яндекс.Диск
# Основные настройки
DBSERVER="localhost" # Сервер MySQL
USER="admin_user" # Пользователь MySQL
PASS="password" # Пароль MySQL
BACKUPPATH="/home/user/backup_mysql/" # Путь к папке для бекапов БД
WEBDAVURL="https://webdav.yandex.ru/backups/mysql/" # Путь к папке на Яндекс.Диске для бекапов MySQL (папка должна существовать)
WEBDAVUSER="[email protected]" # Логин на Яндекс (почтовый ящик)
WEBDAVPASS="password" # Пароль на Яндекс
# Удаляем старые бекапы если есть
rm ${BACKUPPATH}*.gz -r 2> /dev/null
########################## БЛОК №1 #############################
# Первая база MySQL
DATABASE="admin_site-1" # Имя базы
FILE="site-1.sql" # Имя файла для сохранения дампа
# выполняем дамп базы
mysqldump --opt --user=${USER} --password=${PASS} ${DATABASE} > ${BACKUPPATH}${FILE}
# трамбуем дамп базы MySQL в gz архив
gzip ${BACKUPPATH}${FILE}
########################## БЛОК №2 #############################
# Вторая база MySQL
DATABASE="admin_site-2" # Имя базы
FILE="site-2.sql" # Имя файла для сохранения дампа
# выполняем дамп базы
mysqldump --opt --user=${USER} --password=${PASS} ${DATABASE} > ${BACKUPPATH}${FILE}
# трамбуем дамп базы MySQL в gz архив
gzip ${BACKUPPATH}${FILE}
############# Отправляем бекапы БД на Яндекс.Диск ####################
curl --user $WEBDAVUSER:$WEBDAVPASS -T ${BACKUPPATH}site-1.sql.gz ${WEBDAVURL} >/dev/null 2>&1 #Отправляем первую БД
curl --user $WEBDAVUSER:$WEBDAVPASS -T ${BACKUPPATH}site-2.sql.gz ${WEBDAVURL} >/dev/null 2>&1 #Отправляем вторую БД
Re: Скрипт бекапа в ЯД
Чтобы была возможность делать несколько резервных копий в деньВот интересно — зачем? :)
Есть исключенияЛучше бы добавили возможность делать бекапы баз данных по выбору, из панели.
Хотели как лучше и получилось лучше. То что у вас перестал работать сторонний скрипт бекапа, совсем не означает что данное улучшение не нужно.Ну да ладно, хотели как лучше, а получилось, как всегда.
За скрипт спасибо, думаю нашим пользователям будет полезно.
Мы тоже планируем реализовать возможность бекапить на внешние хранилища
Re: Скрипт бекапа в ЯД
А разве сейчас этого нет?Я бекаплю на внешнее FTP хранилище каждую ночь порядка 15гиг.imperio wrote: Мы тоже планируем реализовать возможность бекапить на внешние хранилища
Re: Скрипт бекапа в ЯД
Помимо ftp/sftpyariksat wrote:А разве сейчас этого нет?Я бекаплю на внешнее FTP хранилище каждую ночь порядка 15гиг.imperio wrote: Мы тоже планируем реализовать возможность бекапить на внешние хранилища