Full Backup

Материал из MajorDoMo инфо

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

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 от Яндекс аккаунта поставить свои .

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