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

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

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

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


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

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

Еще от автора

IcmsBilling
Компонент для организации монетизации на сайте. Бесплатная версия.
Форматирование текста
Компонент позволяет выделять текстовой блок и назначать ему нужный класс. Для версии 2.15.2
Система баллов
Компонент "Управление баллами". Служит для создание системы поощрения путём начисления баллов.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.