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

Материал из MajorDoMo инфо
(Новая страница: «Полный бэкап. Можно вставить код в метод или сценарий. <pre> say("Подготовка к полному бэкапу...»)
 
(Внимание)
 
(не показано 9 промежуточных версий 2 участников)
Строка 1: Строка 1:
[[Category:Юзеркейсы]]
Для Linux.
Полный бэкап. Можно вставить код в метод или сценарий.
Полный бэкап. Можно вставить код в метод или сценарий.
Подредактируйте свои пути.


<pre>
<pre>
Строка 19: Строка 22:
$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');
</pre>
</pre>
PS Вы наверное обратили внимание, что путь у меня Ya_Disk. Да, у меня консольная софтина Я.Диск для Linux.<br>
PPS Удалил консольный Я.Диск, последней строкой можно прям из кода отправлять на Я.ДИСК в папку '''iDOM_full'''  . Не забудьте '''login''' и '''password''' от Яндекс аккаунта поставить  свои .<br>
'''Внимание!''' Логин и пароль при таком методе передаются в коннект в открытом виде. При включенной синхронизации необходимо заменить их на данные из свойств. В таком случае их никто не увидит.
[http://4xpro.ru/profblog/yandex-upload/ Тут] подробнее про отправку файлов на Я.Диск из командной строки

Текущая версия от 10:32, 5 июня 2020

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

Внимание! Логин и пароль при таком методе передаются в коннект в открытом виде. При включенной синхронизации необходимо заменить их на данные из свойств. В таком случае их никто не увидит.

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