Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как написать скрипт бэкапа сайта?
 
 автор: sasha1133   (20.03.2010 в 14:32)   письмо автору
 
 

Хочу написать скрипт, который заливаешь в корневую директорию сайта, который будет доступен по адресу к примеру http://www.mysite.com/backup.php. Цель данного скрипта передать все файлы сайта (ну или по выбору) и резервную копию базы данных (в виде SQL-запроса). То есть для того чтобы можно было скачать себе на комп файлы своего же сайта. Какой принцип работы такого скрипта?

  Ответить  
 
 автор: neadekvat   (20.03.2010 в 14:56)   письмо автору
 
   для: sasha1133   (20.03.2010 в 14:32)
 

Как это "все файлы сайта в виде sql-запроса"?
Мухи отдельно, котлеты отдельно.
У БД делаете дамп и сохраняете, файлы - тут посложнее..я бы не стал это с помощью php делать.

  Ответить  
 
 автор: sasha1133   (20.03.2010 в 16:10)   письмо автору
 
   для: neadekvat   (20.03.2010 в 14:56)
 

по моему реально всё сделать одним скриптом. я уверен что это не очень сложно, просто не знаю как. phpMyAdmin написан на php, и это ему не мешает делать с бд всё что угодно.

  Ответить  
 
 автор: neadekvat   (20.03.2010 в 16:12)   письмо автору
 
   для: sasha1133   (20.03.2010 в 16:10)
 

Про базу данных я уже сказал.

  Ответить  
 
 автор: Рома   (20.03.2010 в 15:12)   письмо автору
 
   для: sasha1133   (20.03.2010 в 14:32)
 

>Какой принцип работы такого скрипта?

Подключаться поочередно ко все таблицам, выбирая всю (актуальную) информацию и записывать все это дело в один и тот же файл в виде готовых запросов для вставки, потом отдать файл на скачивание. Все просто.

  Ответить  
 
 автор: sasha1133   (20.03.2010 в 16:13)   письмо автору
 
   для: Рома   (20.03.2010 в 15:12)
 

А если например скрипт нашёл файлы и таблицы базы данных, как дальше запаковать это в 1 архив и выдать ссылку? Также интересно как автоматически после скачивания удалить архив с сервера?

  Ответить  
 
 автор: psychomc   (20.03.2010 в 18:46)   письмо автору
 
   для: sasha1133   (20.03.2010 в 16:13)
 

хостеры не дают бэкапы делать?

  Ответить  
 
 автор: sasha1133   (20.03.2010 в 19:10)   письмо автору
 
   для: psychomc   (20.03.2010 в 18:46)
 

что то не нашёл где это делать. Просто хочу свой скрипт, т.к. по-моему это будет удобнее.

  Ответить  
 
 автор: psychomc   (20.03.2010 в 19:56)   письмо автору
 
   для: sasha1133   (20.03.2010 в 19:10)
 

практически на каждом хостинге есть веб-панель, через которую можно делать бэкапы, редактировать днс и т.п

  Ответить  
 
 автор: sasha1133   (21.03.2010 в 13:09)   письмо автору
 
   для: psychomc   (20.03.2010 в 19:56)
 

я наткнулся на такую, где вроде бы это нельзя сделать (либо не как не могу найти). У меня появилось несколько вопросов:

1. У меня на сайте есть ссылка "главная", которая ведёт на файл index.php. Почему когда я кликаю по ней правой кнопкой и выбираю "сохранить объект как" мне без проблем удаётся сохранить файл index.php к себе на комп. На этом форуме я проделал тоже самое с кнопкой "Новая тема" и сохранил к себе на комп файл "addtheme.php". По-моему это как то не безопасно. Хотя к примеру на яндексе это не прокатывает, предлагает сохранить что то вроде *.html.part или просто *.html . Отчего это зависит и как сделать, чтобы кто угодно не мог скачать php файлы моего сайта.

2. Возможно ли задать в адресной строке браузера (или каким то другим образом), что ты собираешься НЕ посмотреть файл (например) index.php, а скачать его?

3. Как phpMyAdmin получает доступ к MySQL не зная ни пароля, ни логина и тем не менее может делать что угодно с базой данных?

4. Как имея доступ к таблице, сделать её бэкап в виде SQL-запроса (как в phpMyAdmin)?

  Ответить  
 
 автор: psychomc   (21.03.2010 в 13:21)   письмо автору
 
   для: sasha1133   (21.03.2010 в 13:09)
 

>я наткнулся на такую, где вроде бы это нельзя сделать (либо не как не могу найти). У меня появилось несколько вопросов:
>
>1. У меня на сайте есть ссылка "главная", которая ведёт на файл index.php. Почему когда я кликаю по ней правой кнопкой и выбираю "сохранить объект как" мне без проблем удаётся сохранить файл index.php к себе на комп. На этом форуме я проделал тоже самое с кнопкой "Новая тема" и сохранил к себе на комп файл "addtheme.php". По-моему это как то не безопасно. Хотя к примеру на яндексе это не прокатывает, предлагает сохранить что то вроде *.html.part или просто *.html . Отчего это зависит и как сделать, чтобы кто угодно не мог скачать php файлы моего сайта.

безопасно. сохраняется же не скрипт, а html-код страницы, не важно какой там префикс

>2. Возможно ли задать в адресной строке браузера (или каким то другим образом), что ты собираешься НЕ посмотреть файл (например) index.php, а скачать его?

вряд ли, зависит скорее всего от конкретного браузера :)

>3. Как phpMyAdmin получает доступ к MySQL не зная ни пароля, ни логина и тем не менее может делать что угодно с базой данных?

он знает и пароль и логин, там же есть учетные записи

>4. Как имея доступ к таблице, сделать её бэкап в виде SQL-запроса (как в phpMyAdmin)?

извлечь все данные и сформировать с них запрос INSERT

  Ответить  
 
 автор: sasha1133   (21.03.2010 в 14:06)   письмо автору
 
   для: psychomc   (21.03.2010 в 13:21)
 

>безопасно. сохраняется же не скрипт, а html-код страницы, не важно какой там префикс

Да, только что сам заметил) А то мне показалось, что я скачал php как он есть.

>он знает и пароль и логин, там же есть учетные записи

А как они там оказались, если я создал таблицу из своего скрипта?

>извлечь все данные и сформировать с них запрос INSERT

А нет такой функции в MySQL?

  Ответить  
 
 автор: psychomc   (21.03.2010 в 14:56)   письмо автору
 
   для: sasha1133   (21.03.2010 в 14:06)
 

>А как они там оказались, если я создал таблицу из своего скрипта?

не знаю чем пользуетесь вы, я пользуюсь готовой сборкой xampp, там root без пароля есть по умолчанию. так же можно создавать другие учетные записи и назначать им определенные права. таблица тут не причем, они создаются непосредственно в панели phpmyadmin, насколько я знаю

>А нет такой функции в MySQL?
есть запрос SELECT. им выбираете нужные данные из существующей базы, потом из этих данный формируете запрос на вставку INSERT. синтаксис можете посмотреть например на mysql.ru
(другого способа я не знаю)

  Ответить  
 
 автор: sasha1133   (21.03.2010 в 15:33)   письмо автору
 
   для: psychomc   (21.03.2010 в 14:56)
 

Спасибо! Не очень разобрался про phpMyAdmin, ну да ладно

  Ответить  
 
 автор: psychomc   (22.03.2010 в 00:50)   письмо автору
 
   для: sasha1133   (21.03.2010 в 15:33)
 

тогда гляньте лучше документацию, там скорее всего найдёте ответы

  Ответить  
 
 автор: Рома   (22.03.2010 в 00:59)   письмо автору
 
   для: sasha1133   (21.03.2010 в 14:06)
 

>>безопасно. сохраняется же не скрипт, а html-код страницы, не важно какой там префикс
>
>Да, только что сам заметил) А то мне показалось, что я скачал php как он есть.

Вы что php от html не смогли отличить?

  Ответить  
 
 автор: sasha1133   (22.03.2010 в 01:56)   письмо автору
 
   для: Рома   (22.03.2010 в 00:59)
 

Да я как то не сразу подумал посмотреть, что внутри файла. Смотрю - index.php. Потом только глянул что там только html.

  Ответить  
 
 автор: sasha1133   (25.03.2010 в 10:52)   письмо автору
 
   для: sasha1133   (20.03.2010 в 14:32)
 

Кстати есть бесплатные скрипты, которые это делают, зря хотел писать. Для файлов - agfaunzipper, для базы - sypexdumper. Сделал бэкап своего сайта, т.к. такой возможности не было (почему то отключена функция резервного копирования в админке).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования