Full Backup: различия между версиями

Материал из MajorDoMo инфо
Нет описания правки
мНет описания правки
Строка 21: Строка 21:
$filesize = filesize($filedate."_full.tar.gz")/1024/1024;
$filesize = filesize($filedate."_full.tar.gz")/1024/1024;
$filesize = round($filesize, 1);
$filesize = round($filesize, 1);
if ( file_exists( $filedate.'_full.tar.gz' )) say("Бэкап выполнен успешно. ". $filesize."Mb", 1);
//if ( file_exists( $filedate.'_full.tar.gz' )) say("Бэкап выполнен успешно. ". $filesize."Mb", 1);
if ( file_exists( $filedate.'_full.tar.gz' )) say("Бэкап выполнен успешно. ".$mydatafilename."_full.tar.gz ". $filesize."Mb", 1);
 
//Отправляем созданный файл на Я.Диск
//Отправляем созданный файл на Я.Диск
shell_exec('curl -T '.$filedate.'_full.tar.gz  https://webdav.yandex.ru/iDOM_full/'.$mydatafilename.'_full.tar.gz  --user login@ya.ru:password');
shell_exec('curl -T '.$filedate.'_full.tar.gz  https://webdav.yandex.ru/iDOM_full/'.$mydatafilename.'_full.tar.gz  --user login@ya.ru:password');

Версия от 12:36, 2 июня 2020

Полный бэкап. Можно вставить код в метод или сценарий. Подредактируйте свои пути.

say("Подготовка к полному бэкапу",1);


//Прописываем путь для бэкапов
$mydatafilename = date("Ymd_His");
$filedate='/samba/Ya_Disk/iDOM_full/'.$mydatafilename;
//Временный путь 
$temppath='/samba/Ya_Disk/iDOM_full/temp/';

shell_exec('sudo cp -aT /var/www/html '.$temppath);
shell_exec('sudo rm -rf '.$temppath.'cms/cached/*');
shell_exec('sudo mysqldump --user='. DB_USER .' --password='.DB_PASSWORD.'  --databases '. DB_NAME .' > '.$temppath.$mydatafilename.DB_NAME.'.sql');
shell_exec('tar -czvf '.$filedate.'_full.tar.gz '.$temppath);
shell_exec('sudo rm -rf '.$temppath.'*');

$filesize = filesize($filedate."_full.tar.gz")/1024/1024;
$filesize = round($filesize, 1);
//if ( file_exists( $filedate.'_full.tar.gz' )) say("Бэкап выполнен успешно. ". $filesize."Mb", 1);
if ( file_exists( $filedate.'_full.tar.gz' )) say("Бэкап выполнен успешно. ".$mydatafilename."_full.tar.gz ". $filesize."Mb", 1);

//Отправляем созданный файл на Я.Диск
shell_exec('curl -T '.$filedate.'_full.tar.gz  https://webdav.yandex.ru/iDOM_full/'.$mydatafilename.'_full.tar.gz  --user login@ya.ru:password');

PS Вы наверное обратили внимание, что путь у меня Ya_Disk. Да, у меня консольная софтина Я.Диск для Linux.

PPS Удалил консольный Я.Диск, последней строкой можно прям из кода отправлять на Я.ДИСК в папку iDOM_full . Не забудьте login и password от Яндекс аккаунта поставить свои .

Тут подробнее про отправку файлов на Я.Диск из комендной строки