скрипт сохранения сайта на php
Автоматическое резервное копирование на PHP
А ведь какие задачи у резервного копирования? Просто сохранять в архив все файлы и папки сайта, а также делать дамп базы данных, которые так же добавить в архив. Для создания такой функциональности 1000 кнопок не потребуется, поэтому я решил написать свой скрипт автоматического резервного копирования на PHP. Полный код данного скрипта приведён ниже:
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 19 ):
Нехилый скрипт. Молодец, Михаил!
класс ZipArchive входит в состав языка PHP
Михаил, Большое спасибо за скрипт. Очень пригодился. А можно как нибудь исключить архивирование одной папки? У меня есть папка images, которая весит несколько гигов, и которую бекапить нет необходимости. Заранее спасибо за ответ.
Переписал ваш скрипт в класс. Так гораздо удобнее мне кажется. Код здесь: http://pastebin.com/K0S3UzFB И добавил возможность указывать файлы и папки, которые не нужно включать в архив.
Попробовал ваш скрипт, в отличии от того что на сайте- ругнулся только на «PHP Fatal error: Class ‘ZipArchive’ not found in», подскажите, как сделать что бы не зип, а tar.gz, вроде с этим работает
У вас расширение для работы с архивами не установлено на сервере.
Да я не спорю, но я то там не установлю сам, а хостер не особо хороший, а можно сделать как то, что бы бэкап складывался в папку, но не архивировался, а я потом буду забирать с компьютера и уже на компе будет архивировать? Хотя вот в панеле управления в файловом менеджере я могу запаковать и в зип и в тар
Можно. Попозже помогу
Спасибо большое, даже, если облегчит- мне нужно забирать только базы данных с сервера, файлы я и так забираю кобианом по расписанию, а вот базы данных никак не выходит
Вообщем то с зипом я разобрался, оказывается его можно было включить в панель управления, ошибка с ним ушла, но вышла ошибки, которые сыпали и оригинальный скрипт, и куда копать ума совсем не приложу: PHP Warning: fopen(/backups/USER_444.sql): failed to open stream: No such file or directory in /home/USER/domains/DOMEN.RU/public_html/cron.php on line 107 PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /home/USER/domains/DOMEN.RU/public_html/cron.php on line 135 PHP Notice: ZipArchive::addFile(): Empty string as filename in /home/USER/domains/DOMEN.RU/public_html/cron.php on line 61 PHP Warning: unlink(/backups/USER_444.sql): No such file or directory in /home/USER/domains/DOMEN.RU/public_html/cron.php on line 68
Ну а файл такой есть? /backups/USER_444.sql И что за крон у вас странный?
Нет, такого файла нет. А чем, простите, странен крон? Это он мне на почту присылает в таком виде отчёт. Вообще непонятно, то ли скрипт не может достучаться до sql базы, то ли не может её скопировать в папку backups. Как вот этот момент проверить
привет глянул код. а куда вписывать исключения что бы не бэкапил?
Серьезно? Сколько лет прошло уже ))) Я РНР как страшный сон забыл и на Node.js переехал ))
Михаил, для новичка обьясните, как поставить скрипт в cron. никогда с cron не работал.
Михаил, подскажите, пожалуйста, можно ли изменять степень сжатия архива? Просто мне попался скрипт и я попробовал создать архив сайта им и в итоге архив получился на 30 Мб меньше по размеру, по сравнению с тем архивом, который был создан с использованием вашего скрипта. Хотя мне ваш скрипт нравится больше. Он меньше и по содержанию и по размеру, да и работает шустрее. Спасибо.
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.
Сохранить страницу в переменную
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Сохранить переменную в памяти
Как через php, можно сохранить переменную в апперативной памяти сервера?
Как прочесть в переменную динамическую страницу?
Мнен нужно считать в переменную динамическую страницу. Я так понимаю, что для этого нужно.
Как сохранить быстро перезагружаемую страницу?
Хочу сохранить страницу: http://z1180.takru.com/click.php Но она быстро исполняет свой скрипт и.
я в php неочень селён. вот эту страницу сохраняет
http://www.kinopoisk.ru/film/444/keywords/
спасибо, всё работает
Добавлено через 1 час 31 минуту
всётаки неработает. задача была такая чтобы сохранить не в одну строчку. а скрипт сохраняет всётаки в одну строку.
Кто сказал вам такой ужас? Это не количество строк, это:
И почему у меня такое ощущение что только у меня здесь в php.ini присутствуют строки.
А количество строк можно например так посчитать:
а как же тогда узнать количество строк?
Добавлено через 8 минут
вот теперь должно по идее показать третью строчку. но не показывает
Да откуда у вас такая информация? ничего оно не должно.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Сохранить сгенерированную страницу php по клику кнопки
Что за день то такой. Полинета облазил найти не смог. Есть страница. Нужно её сохранить на.
Как сохранить в переменную другую переменную + текст?
Нужно сохранить в одной переменной несколько переменных + текст, что бы потом все это дело вывести.
Сохранить переменную в сессию
Здравствуйте! Как сохранить переменную в сессию? Пытаюсь сделать так, но при выводе ничего не.
Можно ли в переменную сохранить содержимое span или p
Можно ли в переменную сохранить содержимое span или p. Если нет такой возможности то подскажите.
Скрипт сохранения сайта на php
Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006
Репутация: нет
Всего: нет
Опытный
Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005
Репутация: 6
Всего: 18
Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006
Репутация: нет
Всего: нет
Еххх(((Почти ничего не понял из статьи.
Точнее как сделать так, чтобы все время сохранялось в файлы с различными названиями? и куда попадает информация после ob_flush?
Шустрый
Профиль
Группа: Участник
Сообщений: 137
Регистрация: 13.7.2006
Где: rus|53
Репутация: 4
Всего: 9
Опытный
Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск
Репутация: 5
Всего: 13
пожалуйста подскажите
чем отличается
Указатель файла обязан быть правильным и указывать на файл, успешно открытый функциями fopen(), popen() или fsockopen().
Цитата(smartov @ 16.1.2007, 13:26 |
Видел я PHP код, который пишут наСильники, никогда на php не писавшие 😀 То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. |
Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006
Репутация: нет
Всего: нет
Опытный
Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск
Репутация: нет
Всего: 1
Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006
Репутация: нет
Всего: нет
У меня есть страничка (ьам php код прям в html вставлен):
Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.8.2006
Репутация: нет
Всего: нет
Эксперт
Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006
Отдаем файлы эффективно с помощью PHP
1. Используем readfile()
Метод хорош тем, что работает с коробки. Надо только написать свою функцию отправки файла (немного измененный пример из официальной документации):
Таким способом можно отправлять даже большие файлы, так как PHP будет читать файл и сразу отдавать его пользователю по частям. В документации четко сказано, что readfile() не должен создавать проблемы с памятью.
2. Читаем и отправляем файл вручную
Метод использует тот же Drupal при отправке файлов из приватной файловой системы (файлы недоступны напрямую по ссылкам):
3. Используем модуль веб сервера
3a. Apache
Модуль XSendFile позволяет с помощью специального заголовка передать отправку файла самому Apache. Существуют версии по Unix и Windows, под версии 2.0.*, 2.2.* и 2.4.*
В настройках хоста нужно включить перехват заголовка с помощью директивы:
Также можно указать белый список директорий, файлы в которых могут быть обработаны. Важно: если у Вас сервер на базе Windows путь должен включать букву диска в верхнем регистре.
Описание возможных опций на сайте разработчика: https://tn123.org/mod_xsendfile/
Пример отправки файла:
3b. Nginx
Nginx умеет отправлять файлы из коробки через специальный заголовок.
Для корректной работы нужно запретить доступ к папку напрямую через конфигурационный файл:
Пример отправки файла (файл должен находиться в директории /some/path/protected):
Простой Jquery скрипт для редактирования HTML5 текста и сохранения с помощью ajax
Очень часто в процессе редактирования контента сайта необходимо (а также очень удобно) видеть готовый результат на странице браузера. Используя свойство тегов HTML5 — contenteditable, Jquery, Ajax и PHP создадим простой редактор текста HTML5 сайта.
Наш редактор будет обладать следующими свойствами:
— при клике мышкой на тексте предназначенном для редактирования этот текст сразу можно редактировать;
— при нажатии клавиши Escape после редактирования текста, все изменения в текущий текст отменяются;
— при потере фокуса, либо клике для редактирования другого текста, измененный текст отправляется на сервер, выводится сообщение о статусе отправки и ответа сервера.
Ниже приводится HTML код редактируемой страницы:
Как видим, каждый редактируемый текст заключен в тег с включенным свойством contenteditable — фишкой HTML5, которая позволяет редактировать текст прямо в браузере. Для сохранения на сервере нужно точно идентифицировать редактируемый текст, поэтому id у нас содержит идентификатор материала и поле базы данных, разделенных нижним подчеркиванием, например — >
Кнопка «сохранить» тут для тех, кто привык нажимать на кнопку сохранить. Никакой особой нагрузки не выполняет, так как, при нажатии на кнопке наш текст теряет фокус и сохраняется (если изменен).
В заголовке нашей страницы подключаем style.css и jquery:
Далее идет собственно и наш скрипт:
Принимаем наш отредактированный текст на сервере — файл save.php
Особенно удобен наш редактор для табличных данных (например прайс), где не нужно текстовое оформление, а необходимо быстро поправить, либо внести новые данные (модернизируем скрипт). Для себя я модернизирую скрипт, чтобы вносить, заполнять базу данных товаров. Заполнять базу таким способом будет также удобно, как в Excel-е, которому мы так привыкли.