Возник вопрос о создании резервных копий сайта на какое-нибудь облачное хранилище.
Выбор пал на Яндекс.Диск, во-первых, дают бесплатно 10 гигабайт во-вторых за небольшую плату можно увеличить дисковое пространство. И самое главное позволяет работать через WebDAV (Web-based Distributed Authoring and Versioning – расширение протокола HTTP позволяющее работать с файлами на удаленном хосте).
Для работы из командной строки с WebDAV можно использовать curl.
И так сам скрипт:
#!/bin/sh DATA=`date +%Y-%m-%d` #Имя пользователя на yandex WEBUSER="yandex-mail-name@yandex.ru" #Пароль от яндекс диска WEBPASS="password" #Архивируем все файлы в каталоге нашего сайта tar -czvf web_site_$DATA.tar.gz /var/www/site.ru/www/ #Отправляем получившийся архив в облако curl --user $WEBUSER:$WEBPASS -T web_site_$DATA.tar.gz https://webdav.yandex.ru/ --verbose -o /dev/null #Что бы не плодить копии на нашем сервере удаляем отправленный архив rm web_site_$DATA.tar.gz #Делаем дамп базы данных #Указываем пользователя mysql и пароль и название своей базы данных mysqldump --user=db_user_name --password=db_password site > site_$DATA.sql; #Отправляем получившийся файл в облако curl --user $WEBUSER:$WEBPASS -T site_$DATA.sql https://webdav.yandex.ru/ --verbose -o /dev/null rm site_$DATA.sql
Незабываем сделать файл исполняемым:
chmod +x имя_файла.sh
Для удаления файла с Яндекс.Диска необходимо выполнить команду:
curl --user $WEBUSER:$WEBPASS --request DELETE https://webdav.yandex.ru/имя_файла
А дальше уже по желанию можно периодически ручками запускать скрипт или добавить задание на его выполнение в cron.
Это не идеальное решение! Это просто еще один костыль.