Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   > скрипт бекапа (http://forum.oszone.net/showthread.php?t=286826)

боксер 21-08-2014 12:45 2392213

> скрипт бекапа
 
Здравствуйте, По этому скрипту бекаплюсь на яндекс.Но по ходу и на хостинге тоже пишется архив. Хочу это убрать. Написал в поддержку.Говорят править код в скрипте. Но ни как не пойму где в коде об этом говориться.
PHP код:

<?
// Резервное копирование MySQL и файлов хостинга
// Версия 2.1 Яндекс
$dbhost "localhost"//Адрес MySQL сервера
$dbuser "имя_пользователя"//Имя пользователя базы данных
$dbpass "пароль"//Пароль пользователя базы данных
$dbname "база_данных"//Имя базы данных
$sitedir "/home/что_то_там/public_html"//Абсолютный путь к сайту от корня диска
$excludefile $sitedir.'/backup/*.gz'//Файлы которые не должны попасть в архив
$yadisk_email='адрес_почты@yandex.ru'//Имя пользователя Яндекс.Диск
$yadisk_pass='пароль_на_яндекс'//Пароль пользователя Яндекс.Диск
$yadisc_dir='Сайт/backup/'//Директория на Яндекс.Диск куда будем копировать. Она должна существовать!
// Все что ниже, лучше не трогать
$dbbackup $dbname .'_'date("Y-m-d_H-i-s") . '.sql.gz';
$filebackup 'ureech_'date("Y-m-d_H-i-s") .'.tar.gz';
system("mysqldump -h $dbhost -u $dbuser --password='$dbpass' $dbname | gzip > $dbbackup");
//Для больших баз данных закоментировать строчку выше и раскоментировать ниже.
//system("mysqldump --quick -h $dbhost -u $dbuser --password='$dbpass' $dbname | gzip > $dbbackup");
system ("curl --user $yadisk_email:$yadisk_pass -T $dbbackup https://webdav.yandex.ru/$yadisc_dir");
unlink($dbbackup);
shell_exec("tar cvfz $filebackup $sitedir --exclude=$filebackup --exclude=$excludefile"); 
system ("curl --user $yadisk_email:$yadisk_pass -T $filebackup https://webdav.yandex.ru/$yadisc_dir");
unlink($filebackup);
?>


Habetdin 21-08-2014 20:53 2392432

боксер, в данном скрипте бэкапы после заливки удаляются:
Цитата:

unlink($dbbackup);
...
unlink($filebackup);

боксер 22-08-2014 12:45 2392648

Да вот что то не удаляются.

alef2474 24-08-2014 20:55 2393517

Имхо, первый system бэкапит на хостинг, его и закомментируйте, если не надо.
Unlink удаляет имя файла, а не файл. Там по ссылке же внизу по-английски написано.
Имя файла удаляется, чтобы на след.день было другое, с новой датой.

боксер 26-08-2014 23:30 2394591

Нет, первый system бекапит бд. На половину я разобрался. На хосте создаёт архив и шлёт его на диск, но созданный архив остаётся на хосте естественно и unlink($filebackup); его не удаляет, поддержка говорит, что и не должен, читай мануал, но я всё равно что то не вкуриваю почему не удаляет.

Habetdin 27-08-2014 23:15 2395075

Цитата:

Цитата боксер
почему не удаляет »

При наличии ссылок на файл в системе или его занятости другим процессом "тело" файла может остаться. Можно попробовать тогда так удалить:
PHP код:

system("rm $dbbackup");
system("rm $filebackup"); 


боксер 28-08-2014 20:49 2395495

Habetdin, Спасибо попробую.


Время: 03:03.

Время: 03:03.
© OSzone.net 2001-