Резервирование WordPress сайта на Yandex диск

Редакция автор: stain

Плагин: XCloner - Site Backup and Restore

Настройка WebDAV для Yandex диска.

Site Backup/Remote Storage
Включаем WebDAV Storage
Вводим данные для аутентификации
WebDAV Base Url: https://webdav.yandex.ru
WebDAV Username: ваш логин Yandex
WebDAV Password: пароль
WebDAV Target Folder: Путь на яндекс диске для резервных копий, обязательно создать его ручками, и он должен быть примерно таким /site/backup/.

Создаем задание в Generate Backups, или попросту делаем выборочный бекап, важно:
Backups Options 3-тья строка выбор того как будем резервировать, только измененные или все данные там по календарю если вам нужны все данные оставляете это поле пустым.
Database Options - тут выбираете какие базы данных будете сохранять.
Files Options - а тут выбираете!!! что не надо помещать в архив бекапа.
В 4-той вкладке запускаем резервирование, и после успешного резервирования, можно сделать что либо с получившимся бекапом, залить на хранилище, или просто скачать.
В 5 той настраиваются задания для автоматических бекапов, там же выбирается автоматическая заливка на выбранное удаленное хранилище.

В общем то и все. Проверено работает. Английский не мешает.

Комментариев: 0

AJAX Примитивы

Редакция автор: stain

1. index.php //точка входа
2. app.php //валидация передаваемых данных на сервере
3. scriptform.js //ajax запрос

Точка входа.

index.php




	
	myip


	
Email:

Телефон:

Имя:

Валидация передаваемых данных на сервере.

app.php


Ajax запрос.

scriptform.js

// with out callback
window.onload = function(){
	var inp_email = document.querySelector('input[name=email]');
	var inp_phone = document.querySelector('input[name=phone]');
	var inp_name = document.querySelector('input[name=name]');

	document.querySelector('#send').onclick = function() {
		var params ='email=' + inp_email.value + '&' + 
			'phone=' + inp_phone.value + '&' + 
			'name=' + inp_name.value;
		ajaxPOST('app.php', params); 
	}
}

// обращаемся к странице на сервере проводящей валидацию данных, и передаем параметры
function ajaxPOST(url, params){// 
	var request = new XMLHttpRequest();

	//проверка состояния запроса 0-4 (создан, открыт, отправлен, частичный ответ заголовки, пришел ответ)
	request.onreadystatechange = function(){
		if(request.readyState == 4 && request.status == 200){
			if(request.responseText == '1'){
				document.querySelector('#result').innerHTML = 'Ура-ура! Все хорошо!';//params
				// раз все хорошо прячем форму
				document.querySelector('form').style.display = 'none';
				//если надо отправить на другую страницу //document.location = '';
			}
			else{
				document.querySelector('#result').innerHTML = request.responseText;	
			}
			
		}
	}

	request.open('POST', url);
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.send(params);
}

Комментариев: 0

PHP используемые регулярные выражения

Редакция автор: stain

Пояснительные картинки к регулярным выражениям.

PHP поиск по регулярному выражению и вывод найденной подстроки.

Кривой паттерн ищет выражение типа 12*23

$pattern = '/[0-9]{2}[*]{1}[0-9]{2}/';
preg_match($pattern, $string, $matches);
echo $matches[0];

Удаление времени с помощью регулярных выражений

Использовал в sublime.
\d\d:\d\d
где \d любая цифра.

Комментариев: 0

Как нуб жесткий диск спасал

Редакция автор: stain

Объект: диск SSHD имеет сразу 2 а то и 3 проблемы, при этом нагло пишет в смарте что он в хорошем состояниии.
1. Может не включиться, включиться плохо, или включиться в нормальный режим (из которого выпадает если обращаться к разделам через систему).
2. Отсюда крайне вероятно помер встроенный SSD на 8 гигов.
3. Нечитаемые сектора, которые не убираются, и не перемещаются (их немного но они мешают).

При возвращении из сна диск может включиться наличие его в списке устройств можно проверить (slax не умеет спать)
ls /dev/sd* |grep sd
sudo fdisk -l |grep sd.
Состояние жесткого диска можно проверить
hdparm /dev/sda
тут должен быть ваш диск эта команда может ничего не показать, показать что у диска проблемы с вводом выводом, или же просто 4 строки о том что он в рабочем режиме если последнее то можно попытаться поблочно скопировать данные, для того чтобы ими сразу можно было воспользоваться Копируем на другой носитель, убедитесь что указываете первым диск откуда а вторым диск куда будет заливаться поток блочных данных.

# ddrescue --force --direct --synchronous /dev/sdc /dev/sdd /root/ddrescue.log

Источники по работе с ddrescue 1 2

!!!По завершении переноса данных работаем с вторым диском с помощью testdisk можно проанализировать данные на диске и попытаться сохранить правильно разделы, выставить им тип, и прочие атрибуты и после сохранения и перезапуска жесткого диска, проверки утилитами на логические ошибки файловых систем разделов.

Ньюансы.
1. ddrescue не нашлась в установщике убунту, но зато я более детально познакомился с дистрибутивом SLAX, чтобы его установить на флешку, надо просто скачать и скинуть его папку slax на диск fat32(может и на другую но точно не ntfs), и запустить скрипт(для линукс систем или для windows) из каталога boot, скрипт сделает диск загрузочным.
1.2 Когда поблочно переносишь данные не в образ а сразу на другой диск, тот должен быть больше или такой же по размеру(В моем случае последние байты одного из системных разделов не влезли, жесткий диск приемник был чуть чуть меньше).
2. clonezilla не подходит когда диск отваливается.

Комментариев: 0

PHP Удаление повторяющихся пробелов внутри строки.

Редакция автор: stain

Пример

$str = '3 ккв. 95.47 м2 в Кремлевские звезды секция ';
$str = preg_replace("/ {2,}/"," ",$str) // удаляет лишние пробелы внутри строки (больше 1 подряд).
$str = trim($str," "); // удаляет пробелы в конце строки и в начале, или подставляем символ который надо удалить.
echo $str;

Источники: 1, 2.

Комментариев: 0