5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
1

Php - архивация каталога

07.03.2017, 17:06. Показов 1306. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
господа, помогите разобраться.
суть в следующем. на хостинге нет автоматического бэкапа, но есть система crontab. там можно настроить по времени запуск php-файла.
моя задача: создать php-файл, который архивирует каталог public_html и отправляет его на почту, а так же снимет дамп базы данных. далее он архив и файл .sql отправляет на почту.
выставив запуск такого файла раз в сутки, я буду получать бэкапы сайта каждый день на почту.
помогите с текстом такого файла, кто чем сможет!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2017, 17:06
Ответы с готовыми решениями:

Чтение каталога на php
Доброго времени суток! Господа, подскажите как правильно прочитать наименования каталогов на...

Архивация каталога С++
Нужно произвести архивацию каталога, возможно ли это в С++? Если да помогите кодом пожалуйста. Буду...

Архивация каталога через CMD
Помогите создать bat файл после запуска, которого в командной строке надо ввести путь к каталогу...

Архивация на PHP c использованием БД
Здравствуйте, у меня в БД хранятся имена картинок, на сайте - файлы... Фото разбиты по альбомам. В...

10
60 / 60 / 29
Регистрация: 03.11.2016
Сообщений: 292
Записей в блоге: 2
07.03.2017, 20:13 2
ну например запускать Шелл
PHP
1
exec("tar -cvf /full/path/to/filename.zip folder_to_archive/");
Добавлено через 666 минут
Bash
1
nail -s "Let's send file" -a filename.zip [email]recepient@email.adr[/email]
0
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
07.03.2017, 20:23  [ТС] 3
N-Star, извините, я не понял. filename.zip это что за файл? у меня только каталог имеется к архивации.
nail -s "Let's send file" -a filename.zip recepient@email.adr - эту строчку вообще не понял

Добавлено через 7 минут
N-Star, прописал я шелл екзек. при запуске этого файла браузер пишет - страница не работает. а сам файл становиться пустым! что за мистика
0
60 / 60 / 29
Регистрация: 03.11.2016
Сообщений: 292
Записей в блоге: 2
07.03.2017, 20:30 4
dapkopoen, я тоже не понял просто и интернета скопировал ответ на ваш вопрос... а если честно, то это параметр программы архивации tar -cvf [путь к файлу бэкапа] [архивируемая папка], nail - программа для отправки емайл сообщений у нее свои параметры, нужно убедится что она установлена на вашем хостинге/vpn

Добавлено через 4 минуты
putty советую эту программу для работы с командной строкой сервера для виндовс, начните с команд cd и ls,

Добавлено через 1 минуту
для дампа данных базы, нужно работать с командой mysqldump если у вас Мускул
0
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
07.03.2017, 20:31  [ТС] 5
N-Star, мне надо это все происывать в php файле. ибо только его можно добавить в crontab
0
60 / 60 / 29
Регистрация: 03.11.2016
Сообщений: 292
Записей в блоге: 2
07.03.2017, 20:48 6
тестировать лучше и учится работать в нативном баше
0
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
07.03.2017, 21:02  [ТС] 7
N-Star,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
//папка в которой будет размещен архив
$archive_dir = "/93lab.ru/cron/backup/";
//папка с исходными файлами
$src_dir = "/93lab.ru/public_html/";
 
//создание zip архива
$zip = new ZipArchive();
//имя файла архива
$fileName = $archive_dir."backup_".date('j_m_Y_h_i_s').".zip";
if ($zip->open($fileName, ZIPARCHIVE::CREATE) !== true) {
    fwrite(STDERR, "Error while creating archive file");
    exit(1);
}
 
//добавляем файлы в архив все файлы из папки src_dir
$dirHandle = opendir($src_dir);
while (false !== ($file = readdir($dirHandle))) {
    $zip->addFile($src_dir.$file, $file);
}
//закрываем архив
$zip->close();
 
fwrite(STDOUT, "Archive created\n");
 
exit(0);
?>
вот такой код нашел. но он приводит к ошибке 502 после двух минут работы
0
60 / 60 / 29
Регистрация: 03.11.2016
Сообщений: 292
Записей в блоге: 2
07.03.2017, 21:17 8
PHP
1
set_time_limit(0);
первой строчкой и
PHP
1
ignore_user_abort(true);
в дополнение не помешает, хотя вряд ли это поможет
0
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
07.03.2017, 21:22  [ТС] 9
N-Star, не помогло
0
60 / 60 / 29
Регистрация: 03.11.2016
Сообщений: 292
Записей в блоге: 2
07.03.2017, 21:28 10
какой размер папки? на чем сайт? значит нужно кэшировать умно-выборочно либо переходить на более дорогой тариф с временем лимита исполнения более двух минут
0
5 / 5 / 1
Регистрация: 04.01.2013
Сообщений: 387
07.03.2017, 21:31  [ТС] 11
там опенкарт. размер 50 мб
0
07.03.2017, 21:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2017, 21:31
Помогаю со студенческими работами здесь

Архивация и восстановление данных и использованием PHP
Добрый день. Нужно средствами php создать архив базы данных. Но не нашел ничего о тот как сделать...

Открытие каталога программно на php
Доброго времени суток, соратники! Прошу прощение, если вопрос кривой. Возможна ли реализация на...

Каталог товаров - Был удален файл PHP вывода страницы каталога
Привет! Ребятки в общем случилась такая штука: Был куплен &quot;Jam - бизнес сайт с интернет магазином...

Некорректная работа файла .parameters.php в шаблоне комплексного компонента каталога
Появилась необходимость немного доработать шаблон комплексного компонента каталога: в настройках...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru