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

Форум MySQL

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

 

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

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

тема: Можно ли делать backup?
 
 автор: Shorr Kan   (05.04.2005 в 09:52)   письмо автору
 
 

Я с mysql начал работать совсем недавно... Поэтому с backup'ами еще не приходилось возиться. Я даже не понимаю, где и как они сохраняются. Но вот, момент назрел... Требуется делать раз в день backup. Как на php его можно сделать? И вообще - backup базы или таблицы делается?

   
 
 автор: Shorr Kan   (05.04.2005 в 10:32)   письмо автору
 
   для: Shorr Kan   (05.04.2005 в 09:52)
 

Так, сообразил. Мелкий скрипт, записывает каждую табличку в файлики... а файлики - на мейл. Да, выход. Так можно.

   
 
 автор: Shorr Kan   (05.04.2005 в 11:50)   письмо автору
 
   для: Shorr Kan   (05.04.2005 в 10:32)
 

Я смог получить в цикле имена таблиц, количество столбцов и их имена...

А что теперь? Как записывать в файл, чтобы потом можно было разбирать этот файл, и возвращать все в базу (естественно, не вручную)? Дело в том, что я понятия не имею по какому символу разделять данные - в одной из таблиц используются любые по mysql_escape_string... И объема text

   
 
 автор: cheops   (05.04.2005 в 13:41)   письмо автору
 
   для: Shorr Kan   (05.04.2005 в 11:50)
 

Посмотрите тему http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3147 - возможно вас устроит предлагаемое там решение?

   
 
 автор: Shorr Kan   (05.04.2005 в 13:53)   письмо автору
 
   для: cheops   (05.04.2005 в 13:41)
 

Нет... К сожалению, не то.

Но, может, и к счастью? Я-таки смог свою сделать... И даже горд :)

Но вот беда... Все в текстовых файлах... Все на сервере... Небезопасно. Что делать? Возможно ли какая-та работа с архивированием всего этого из php, и установки пароля на архив? Или архивирования, и высылки на мейл админу?

Я просто не знаком совсем с архивированием файлов из php, установки паролей...

Ну а с высылкой архива, наверное, смогу разобраться...

   
 
 автор: Shorr Kan   (05.04.2005 в 13:56)   письмо автору
 
   для: Shorr Kan   (05.04.2005 в 13:53)
 

Или, может быть, можно как-то запаролить или защитить конкретный каталог? Из скрипта Php.

   
 
 автор: Shorr Kan   (05.04.2005 в 14:31)   письмо автору
 
   для: Shorr Kan   (05.04.2005 в 13:56)
 

Если у меня на пару директорий выше находится .htaccess с содержимым


<Files ~ "\.(ini|txt)$"> 
  order deny,allow 
  deny from all 
</Files>


Этого будет достаточно? Или нет? Файлы-backup имеют расширение txt

   
 
 автор: cheops   (05.04.2005 в 22:36)   письмо автору
 
   для: Shorr Kan   (05.04.2005 в 14:31)
 

Вполне достаточно, в этом случае фалы будут доступны только скриптам с вашего виртуального хоста.

   
 
 автор: Shorr Kan   (06.04.2005 в 00:24)   письмо автору
 
   для: cheops   (05.04.2005 в 22:36)
 

Тогда такой вопрос - а как, все же, заархивировать каталог с backup? А то больно уж много они местечка занимают...

   
 
 автор: Shorr Kan   (06.04.2005 в 01:14)   письмо автору
 
   для: Shorr Kan   (06.04.2005 в 00:24)
 

Так, уже начал разбираться...



$fp = gzopen($dir.$file.".txt", "a+");
  flock($fp,LOCK_EX);
    gzputs ($fp, $text."\r\n");
  flock($fp,LOCK_UN); 
gzclose($fp);



Это дело пройдет? Или flock тут не нужен? Или он изменен на какой-нибудь gzlock?

   
 
 автор: Shorr Kan   (06.04.2005 в 04:42)   письмо автору
 
   для: Shorr Kan   (06.04.2005 в 01:14)
 

Возможно, я что-то не так делаю?

Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time!

   
 
 автор: Shorr Kan   (06.04.2005 в 05:03)   письмо автору
 
   для: Shorr Kan   (06.04.2005 в 04:42)
 

Так, каким-то жутким макаром нашел, что режим должен быть ab9.... ПОставил - сработало. Сжало изумительно. Теперь такой вопрос - а где, собственно, можно почитать о режимах gzopen? Для fopen везде написано, а для gzopen - Найти не могу. Подскажите, где почитать... Или расскажите тут... Я так полагаю, что ab9 - это аналогия "a+" (или "a"?). Следовательно, wb9 и rb9 можно ожидать... Но почему 9 ?

И нигде не написано... по крайней мере, я найти не могу.

   
 
 автор: Shorr Kan   (06.04.2005 в 05:13)   письмо автору
 
   для: Shorr Kan   (06.04.2005 в 05:03)
 

И еще... чтобы защитить Эти заархивированные файлы, значит мне нужно .htaccess переделать в


<Files ~ "\.(ini|txt|gz)$"> 
  order deny,allow 
  deny from all 
</Files>


да?

   
 
 автор: Shorr Kan   (06.04.2005 в 06:34)   письмо автору
 
   для: Shorr Kan   (06.04.2005 в 05:13)
 

"Так как установка флага трансляции по умолчанию зависит от SAPI и версии PHP, которую вы используете, рекоммендуем явно задавать указанный флаг из соображений портируемости. Вы должны использовать режим 't' если вы работаете с текстовым файлом и использовать \n для разделения для обозначения конца строки в вашем скрипте, при этом не беспокоясь за читаемость ваших файлов в других приложениях типа "Блокнота". В противном случае вам следует использовать флаг 'b'. "

и

"Замечание: Кроме того, из соображений портируемости, также настойчиво рекоммендуется переписать старый код, который полагается на режим 't', чтобы вместо этого он использовал правильные окончания строк и режим 'b'."


Мой backup сохраняется в gz. Так как его мне сохранять? С каким флагом? wb9? wb? ab9? ab?
Ничего не понял из документации...

   
 
 автор: Shorr Kan   (06.04.2005 в 20:45)   письмо автору
 
   для: Shorr Kan   (06.04.2005 в 06:34)
 

Честно говоря, сам я не разберусь. Так что если у кого есть на это энергия - объясните/расскажите/покажите.

   
Rambler's Top100
вверх

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