Яндекс.Диск и WebDAV

WebDAV (Web Distributed Authoring and Versioning) или просто DAV — набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах.

Это на данный момент самый удобный (по крайней мере для меня) способ хранения и взаимодействия с файлами на нескольких компьютерах.

Подключается в современные ОС Microsoft Windows как сетевой диск, где указывается адрес «https://webdav.yandex.ru» и ваш логин и пароль от Яндекс аккаунта.

Так же есть небольшой скрипт для резервного копирования на Яндекс.Диск с веб-хостингов, но логин и пароль передается в незашифрованном виде, т.е. администратор сервера в логах и в процессах сможет увидеть ваш пароль и логин. Скрипт на языке PHP, ставите в CRON.

<?
$dbhost = "localhost"; //Адрес MySQL сервера
$dbuser = "base_user"; //Имя пользовател¤ базы данных
$dbpass = "user_password"; //Пароль пользователя базы данных
$dbname = "base_name"; //Имя базы данных

$sitedir = "/home/username/public_html"; //Абсолютный путь к сайту от корня диска
$excludefile = $sitedir.'/backup/*.gz'; //Файлы которые не должны попасть в архив

$yadisk_email='XXXXXXX@yandex.ru'; //Имя пользователя Яндекс.Диск
$yadisk_pass='ZZZZZZZ'; //Пароль пользователя Яндекс.Диск
$yadisc_dir='backup/'; //Директория на Яндекс.Диск куда будем копировать. Директория должна уже существовать!

// Все что ниже, лучше не трогать

$dbbackup = $dbname .'_'. date("Y-m-d_H-i-s") . '.sql.gz';
$filebackup = 'files_'. 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);
?>

Скрипт создает архив файлов сайта и дамп базы MySQL и заливает на Яндекс.Диск.

Ссылка на справку по использованию WebDAV от Яндекс — https://yandex.ru/support/disk/webdav.html

Добавить комментарий