Pull to refresh

Comments 23

И тут оно раз и удаляет все твои веб-проекты заодно с системой.
нет, проекты он оставляет себе… удаляет только систему
Основной целью было реализовать взаимодействие с Яндекс диском. Остальной код родился в творческом порыве.
Использовать его или нет дело сугубо личное. Я постарался написать как пожно проще. Чтобы кажый смог разобраться в коде.
Убийственные настройки можно выполнить в любом приложении. Особенно, если работать из под root.
Сделайте github репозиторий и composer пакет, пожалуйста!
Добавил на github. Ссылка в конце статьи. С composer посложнее, ни разу с ним не работал. Надо сначала разобраться.
В свой время, когда только-только появился gmail и получил инвайт, слал бекапы проекта на него, главное архив нормально побить на куски, а потом появились другие задачи.
Почему бы не решить эту задачу:
обычным bash скриптом
#!/bin/sh
# Script name : backup.sh
# Backup database and files
DATE=`date +%Y-%m-%d_%s`
BACKUP_TO_DIR='/mnt/yandex.disk'
BACKUP_FROM_DIR='/home/www'
SERVER_NAME='server_name'
KEEP_DAYS=7
BACKUP_DIR_NAME=$SERVER_NAME.backup
SQL_USER=user
SQL_PASSWORD=password

cd $BACKUP_TO_DIR
if [ ! -d $BACKUP_DIR_NAME ]; then
mkdir $BACKUP_DIR_NAME
fi

cd $BACKUP_FROM_DIR
/usr/bin/mysqldump -Q -q -p$SQL_PASSWORD -u$SQL_USER -hlocalhost --all-databases > sql_$DATE.sql
if [ $?=0 ]; then
tar czf backup_$DATE.tar.gz *
rm -f sql_$DATE.sql
mv backup_$DATE.tar.gz $BACKUP_TO_DIR/$BACKUP_DIR_NAME
fi

for del in $(find $BACKUP_TO_DIR/$BACKUP_DIR_NAME -name '*.tar.gz' -mtime $KEEP_DAYS)
do
rm $del
done


Синхронизировать с Яндекс.диском можно через webdav (к примеру по этой инструкции) или через их утилиту.
Можно и так, если у вас есть права устанавливать приложения и монтировать разделы. Проблема в том что далеко не каждый недорогой хостинг предоставляет такую возможность.
За ссылку большое спасибо.
Мне вот всё интересно, зачем народ до сих пор использует хостинги? Тем более дешевые и с кучей ограничений, когда по 5$/мес виртуальные серваки раздают.
Парадокс в том, что хостинг за 3$ зачастую быстрее, чем vps за 5-10$ (особенно когда несколько простых сайтов) и хлопот меньше. Использовал и то, и другое.
Давно хотел написать по теме, но все времени не было. Вообще куда проще все это делать через backupninja, которым можно бекапить базу и файлы полностью или инкрементально, все это дело еще шифровать в случае необходимости. Поддерживает разные протоколы, в том числе и webdav.
Хм, а как c Dropbox'ом сделать нельзя?

1. Скачиваем клиент и устанавливаем в директорию ~/Dropbox
2. Создаем папку:
mkdir -p ~/Dropbox/git/project.git

3. Создаем локальный репозиторий (если нет):
mkdir -p project
cd $_
git init

4. Добавляем адрес «удаленного» репозитория:
git remote add dropbox  ~/Dropbox/git/project.git

5. Отправляем данные:
git add .
git commit -m 'init comit'
git push dropbox master


Иными словами, нужно лишь добавить удаленный репозиторий и делать в него пуш!
Так а тут без установки клиента )
Ну тут профит еще в том, что можно использовать полноценную коллективную разработку:

1. Расшариваем папку
2. Клонируем репозиторий:
git clone ~/Dropbox/git/project.git

3. Добавляем адрес «удаленного» репозитория:
git remote add dropbox ~/Dropbox/git/project.git

4. Отправляем данные:
git push dropbox master

5. Получаем данные:
git pull dropbox master
Это уже выходит за рамки бекапа, хотя безусловно интересно.

В чем прелесть решения автора статьи:
1. Не нужно тратиться на дополнительное хранилище под бекап, 10 Гб Яндекса хватит для большинства сайтов
2. Реализуется на любом хостинге, т.к. не требует
3. Позволяет делать копии на локальном компе установив клиент Яндекс диска в два клика

Если вы можете себе позволить ставить сторонний софт на сервер и вас есть необходимые время и квалификация, то вам такое решение даже близко не годится, есть варианты и по-лучше. А для владельцев пары сайтов на shared-хостингах вполне интересное решение.
Разумеется я бы тоже не стал ставить Dropbox на сервер, но для личных проектов на этапе разработки очень удобно так держать бекапы.
UFO just landed and posted this here
UFO just landed and posted this here
А вот есть Яндекс SDK на GitHub — github.com/nixsolutions/yandex-sdk-php — это официальная Я.SDK для PHP, если есть вопросы, пожелания, замечания и дополнения, то милости прошу, принимаем как issue так и pull-request'ы :)
Sign up to leave a comment.

Articles