<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Резервное копирование блога]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=410&amp;type=atom" />
	<updated>2010-02-27T15:31:45Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=410</id>
		<entry>
			<title type="html"><![CDATA[Re: Резервное копирование блога]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=6202#p6202" />
			<content type="html"><![CDATA[<p>Добрый день<br />У гугла же существует API для авторизации и не только. Ознакомиться можно <a href="http://code.google.com/intl/ru/apis/blogger/docs/2.0/developers_guide_protocol.html">здесь</a>.<br />Таким образом можно составить подобный shell скрипт:<br /></p><div class="codebox"><pre><code>#!/bin/sh

Email=$1
Passw=$2

die()
{
    echo &quot;$1&quot; &gt;&amp;2
    exit 1
}

# using google API to login
auth=`wget -q -O- --post-data=&quot;Email=$Email&amp;Passwd=$Passw&amp;service=blogger&amp;accountType=GOOGLE&amp;source=wget-home-1&quot; https://www.google.com/accounts/ClientLogin | grep Auth | cut -d= -f 2`
[ -z &quot;$auth&quot; ] &amp;&amp; die &quot;Login failed&quot;

# get some page of the blogger.com using received auth code
wget --header &quot;Authorization: GoogleLogin auth=$auth&quot; http://www.blogger.com/home</code></pre></div><p>Вместо последней ссылки можно подставить ссылку на Ваш архив, если эта ссылка постоянная. Иначе можно перейти на страницу, где находится эта ссылка и загрепать её.</p>]]></content>
			<author>
				<name><![CDATA[verdrehung]]></name>
				<uri>https://linuxforum.ru/profile.php?id=2045</uri>
			</author>
			<updated>2010-02-27T15:31:45Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=6202#p6202</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервное копирование блога]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=5518#p5518" />
			<content type="html"><![CDATA[<p>В &quot;записках дебианщика&quot; помню промелькало решение, как раз про blogger даже.</p>]]></content>
			<author>
				<name><![CDATA[Macumazan]]></name>
				<uri>https://linuxforum.ru/profile.php?id=952</uri>
			</author>
			<updated>2010-02-26T19:11:45Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=5518#p5518</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервное копирование блога]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=4668#p4668" />
			<content type="html"><![CDATA[<p><strong>Sonic</strong>, спасибо. Можно будет попробовать.<br />php тут некритично... с ним немного знаком, думаю, и так запущу, либо переведу на что-нить другое. Через сокеты не пробовал. Я думал. что просто wget-ом по идее можно.<br /><a href="http://draft.blogger.com/feeds/*много">http://draft.blogger.com/feeds/*много</a>&nbsp; цифры*/archive - вот такого вида ссылка.<br />Ну у меня <a href="http://draft.blogger.com/feeds/4950738840510510857/archive">http://draft.blogger.com/feeds/49507388 … 57/archive</a></p>]]></content>
			<author>
				<name><![CDATA[Iced]]></name>
				<uri>https://linuxforum.ru/profile.php?id=639</uri>
			</author>
			<updated>2010-02-26T06:40:33Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=4668#p4668</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервное копирование блога]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=4598#p4598" />
			<content type="html"><![CDATA[<p>А как там скачивается архив блога? Ссылка?<br />Могу посоветовать использовать скрипт, с wget, bash, python не знаю как, а на php через сокеты. Удаленная авторизация, сам такое не делал, но вот нашел скрипт.<br /></p><div class="codebox"><pre><code>function PostRequest($url, $referer, $_data) {
 
    // convert variables array to string:
    $data = array();    
    while(list($n,$v) = each($_data)){
        $data[] = &quot;$n=$v&quot;;
    }    
    $data = implode(&#039;&amp;&#039;, $data);
    // format --&gt; test1=a&amp;test2=b etc.
    
    // parse the given URL
    $url = parse_url($url);
    if ($url[&#039;scheme&#039;] != &#039;http&#039;) { 
        die(&#039;Only HTTP request are supported !&#039;);
    }
    
    // extract host and path:
    $host = $url[&#039;host&#039;];
    $path = $url[&#039;path&#039;];
    
    // open a socket connection on port 80
    $fp = fsockopen($host, 80);
    //echo $path;
    // send the request headers:
    fputs($fp, &quot;POST $path HTTP/1.1\r\n&quot;);
    fputs($fp, &quot;Host: $host\r\n&quot;);
    //fputs($fp, &quot;Referer: $referer\r\n&quot;);
    fputs($fp, &quot;Content-type: application/x-www-form-urlencoded\r\n&quot;);
    fputs($fp, &quot;Content-length: &quot;. strlen($data) .&quot;\r\n&quot;);
    fputs($fp, &quot;Connection: close\r\n\r\n&quot;);
    fputs($fp, $data);
    
    $result = &#039;&#039;; 
    while(!feof($fp)) {
        // receive the results of the request
        $result .= fgets($fp, 128);
    }
    
    // close the socket connection:
    fclose($fp);
    
    // split the result header from the content
    $result = explode(&quot;\r\n\r\n&quot;, $result, 2);
    
    $header = isset($result[0]) ? $result[0] : &#039;&#039;;
    $content = isset($result[1]) ? $result[1] : &#039;&#039;;
    
    // return as array:
    return array($header, $content);
}

// submit these variables to the server:
$data = array(
    &#039;login&#039; =&gt; &#039;YOUR_LOGIN&#039;,
    &#039;passw&#039; =&gt; &#039;YOUR_PASSWORD&#039;
);
  
// send a request to example.com (referer = jonasjohn.de)
list($header, $content) = PostRequest(&quot;URL&quot;,&quot;&quot;,$data);
 
// print the result of the whole request:
print $header;
print $content;
 
//  --&gt; prints the headers</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Sonic]]></name>
				<uri>https://linuxforum.ru/profile.php?id=2</uri>
			</author>
			<updated>2010-02-25T23:44:40Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=4598#p4598</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Резервное копирование блога]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=4595#p4595" />
			<content type="html"><![CDATA[<p>Задачка на &quot;подумать&quot;.<br />Вот есть у меня блог на blogger.com (свой блог на своём хостинге не предлагать, про такой вариант знаю, может, когда-нить так и сделаю, там вопросы бекапа просто отпадают).<br />Вот не доверяю гуглу, хочу сделать регулярное резервное копирование. Чтобы &quot;сделал и забыл&quot;.<br />Как вообще можно сказать текущий снимок блога? Есть ссылка - <a href="http://draft.blogger.com/feeds/*много">http://draft.blogger.com/feeds/*много</a> цифры*/archive<br />Несмотря на страшные цифры - она не меняется по идее, постоянна. Но не уверен, что она есть всегда, может, создаётся предварительно скриптом.</p><p>Если просто браузером скачать - результат вполне предсказуем. Если разлогиниться на гугле и скормить ссылку браузеру - не работает. Вывод такой - требуется аутентификация.<br />Хотелось бы использовать, к примеру, wget, и закронить его, чтобы каждую неделю скачивал снимок куда-нить (весит он немного совсем). Пробовал указывать опции что-то вроде --user --password - не получилось.</p><p>Вообще реально такое сделать, или там у гугла какая-то хитрая привязка?</p>]]></content>
			<author>
				<name><![CDATA[Iced]]></name>
				<uri>https://linuxforum.ru/profile.php?id=639</uri>
			</author>
			<updated>2010-02-25T23:39:39Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=4595#p4595</id>
		</entry>
</feed>
