CloudWays — скрипт bash для загрузки локальных резервных копий для всех приложений на сервере.
корзина/баш |
|# CloudWays — Загрузка локальных резервных копий для всех приложений|
|#
|# * Локальные резервные копии должны быть включены и доступны. См. httpssupport.cloudways.com/how-to-download-a-full-backup/|
|# * Добавьте ключ SSH вашего компьютера на сервер, чтобы этот сценарий не нуждался в вводе данных.|
|# * Резервные копии будут сохранены в новой папке с сегодняшней датой в указанном вами каталоге резервных копий. (Это может быть не дата создания резервной копии
|# * Пока протестировано только на Digital Ocean VPS.|
|# Конфигурация|
|username='YOUR_MASTER_CREDENTIALS_USERNAME'|
|serverIp='ВАШ_СЕРВЕР_IP'|
|backupDir='LOCAL_BACKUP_DIRECTORY_PATH'# Пример: CloudWays/Backups'|
|# Получить идентификаторы приложений для резервного копирования|
|echo "Получение идентификаторов приложений
|appsssh $username@$serverIp ls /home/master/applications
|appCountapps
|если ! количество приложений >0)) ; тогда|
|echo "ðÃÂÃÂñ Загрузка не удалась. Не удалось получить идентификаторы приложений
|выход|
|фи|
|echo "Найдено $appCount приложений
|# Создать каталог резервного копирования и перейти в него|
|dirbackupDirdate F
|если ! мкдир "$дир"; тогда|
|echo "ðÃÂÃÂñ Загрузка не удалась. Не удалось создать резервную папку
|выход|
|фи|
|cd "$дир"|
|# Скопируйте каждую резервную копию приложения отдельно. Не так элегантно, как одна команда scp, но должно подойти.|
|doneCount=0|
|для меня в приложениях
|делать|
|appIdapps[$i
|нуми + 1
|echo число $appCount] Загрузка $appId
|if scp "$username@$serverIp:/home/master/applications/$appId/local_backups/backup.tgz"appId.tgz"; then|
|echo "Готово
|doneCountdoneCount + 1
|еще|
|echo "ðÃÂÃÂàНе удалось загрузить $appId
|фи|
|готово|
|# Заключительный отчет|
|if doneCount == 0)) ; тогда|
|echo "ðÃÂÃÂñ Все загрузки завершились неудачно
|elif doneCount == $appCount)) ; тогда|
|echo "ðÃÂÃÂàВсе загрузки выполнены успешно
|еще|
|echo "ðÃÂäè Не удалось загрузить некоторые файлы
|фи|