Бекапимся на яндекс-диск.

+44
2.73K
Всем привет. Как известно, "бекапа много не бывает" smileНа одном из хостов стало маловато места, а диск пустует.Вот и решил порыть инет на тему забекапится на яндекс. В итоге получился небольшой скриптик.

Превращаем данный код в файл.php, заполняем своими данными, закидываем куда душе угодно, идём в настройки крона своего хоста и прописываем там в команде адрес файла(У меня, например так:wget domen.ru/yandex_backup.php), устанавливаем периодичность и всё. Теперь, если даже хост ляжет( и не встанет) у меня не "всё пропало" smile

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст


Спасибо, за внимание. hoho
0
Андрей Андрей 8 лет назад #
Однозначно плюс! Инструкцию попдробней для таких нубов как я можно сделать? Спасибо заранее =)
+2
Lora Lora 8 лет назад #
Даже не знаю, что ещё написать.Вся инструкция в комментах в файле.Напишите, что конкретно не понятно, объясню.
0
Zau4man Zau4man 8 лет назад #
Например по $excludefile. Как туда добавить две разные папки...
+2
Lora Lora 8 лет назад #
Самое правильное, создать текстовой файл и прописать в нём все файлы или папки, каждую с новой строки, с абсолютными путями.А в $excludefile прописать путь до этого .txt
+2
Александр Александр 8 лет назад #
респект, тема полезная, вот только как быть с безопасностью? в этом файле все пароли и явки, в том числе и от бэкапа и если его кто то сможет посмотреть, то финита ля...
0
vikont vikont 8 лет назад #
Для того, чтобы открыли файл с Яндекс Диска, надо взломать акка почтового ящика на Яндекс почте!
Сейчас взламывают и не такое! А чтобы ломать конкретный акка надо ЗНАТЬ, что там лежит бекап!
Так что главная гарантия - это никто не должен знать, что именно ты и именно на этот диск отправляешь бекапы! laugh
+10
Fuze Fuze 8 лет назад #
Автор безусловно молодец, что поделился тем, что нашел. НО. Было бы отлично, если был бы не просто копипаст с просторов интернета, а вдумчивый код.

Конечно же этот скрипт не привязан к вашему сайту на instantCMS и класть его в директорию сайта категорически нельзя. И уж тем более делать задачу для CRON типа
Код BASH:
  1. wget http://domen.ru/yandex_backup.php
Скрипт можно спрятать подальше от глаз и доступа для apache. А запускать (и создавать команду для CRON) как то так:
Код BASH:
  1. /usr/bin/php -f /path_to/my_scripts/yandex_backup.php
Кроме того, на шаредхостингах в 99% случаев функции system, shell_exec работать не будут, т.к. отключены в целях безопасности. Обычно включенной остается лишь exec функция и то не всегда.
Код желательно переписать и вместо system ("curl.... использовать нативный PHP-шный curl.

mysqldump запускать из под функции exec, предварительно проверив её доступность (if(!function_exists('exec'))).

Поэтому, вы конечно можете использовать рекомендации автора поста, но потом, когда будет тема на форуме "почту взломали инстант виноват" я молчать не буду.
Надеюсь мой максимально развернутый и обоснованный ответ автор не воспримет в штыки joke
+1
Whoami Whoami 8 лет назад #
правильно всё вы описали. да и к автору претензий нет. этот метод, как мне кажется, был хорош только до того момента, пока им пользовался один человек.
+1
Виктор Виктор 8 лет назад #
Если кто-нибудь посмотрит файл config.php Вашего сайта, то увидит все данные для доступа к Вашему mysql серверу - всё так не секьюрно :)...
-Заводите диск только для бекапов для одного проекта,
-не используйте одинаковые пароли везде где попало
-вынеси пароль в файл другую папку или в БД засунь, а в этом скрипте считывай (тогда даже если сам файл попадет кому случайно на глаза не будет видно паролей)
-плюс рекомендации от Fuze ниже и не всё так плохо
0
NoNames34 NoNames34 8 лет назад #
Автор молодец. сохранил наработку себе в копилку. Попробую реализацию.
А насчет паролей - никто никому не мешает пользоваться золотым правилом "Менять пароли раз в месяц".
0
Александр Александр 8 лет назад #
Ну это как если бы Вашу машину можно было бы завести без ключа, а Вы сказали, да не, всё нормально, я же раз в месяц меняю место на парковке)))
0
Raiden Raiden 8 лет назад #
Он ключ предлагает менять раз в месяц, а не место парковки
+1
Lora Lora 8 лет назад #
Возьму во внимание рекомендации, найду время и придумаю что нибудь с безопасностью.А насчёт ф-ций, не понимаю особой разности, что system(), что exec(). Вроде обе используют одну и туже ф-цию, разница только в методе вывода вроде. Строка или массив.Насчёт curl согласен, лучше php-ный.Проверка на определение ф-ции тоже лишней не будет.
0
Capitan Capitan 8 лет назад #
Может автор учтет рекомендации и подкорректирует код :)

Еще от автора

Загрузка файлов на яндекс диск
Компонент + поле. Позволяют загружать файлы не на сервер, а на яндекс диск. И затем скачивать его по ссылке.
Компонент розыгрыши
Компонент позволяет организовать на сайте розыгрыши призов для стимулирования повышения активности на сайте и как следствие увеличения уровня монетиза
Уведомления с вашего сайта на телефон
Привет. Собственно сабж). Разработка включает в себя мобильное приложение для андроид и компонент для InstantCMS.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.