<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Inte jag också...</title>
	<atom:link href="http://denajs.se/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://denajs.se/blog</link>
	<description>Jorå!</description>
	<lastBuildDate>Fri, 28 Aug 2009 22:23:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Backup och säkerhet</title>
		<link>http://denajs.se/blog/backup-och-sakerhet</link>
		<comments>http://denajs.se/blog/backup-och-sakerhet#comments</comments>
		<pubDate>Fri, 28 Aug 2009 22:23:03 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Säkerhet]]></category>
		<category><![CDATA[backup]]></category>

		<guid isPermaLink="false">http://denajs.se/blog/?p=23</guid>
		<description><![CDATA[Nu ska jag reda ut ett &#8220;problem&#8221; som jag inte trodde jag hade förens jag tänkte till. Hur man gör backups säkert.
Fram tills nu så har jag kört med ett litet bashskript som heter backupmysql-2.sh, scriptet är ganska lätt:

Dumpa valda databaser mha. mysqldump
gzip:a .sql-filerna
Ladda upp dom på en annan backup-server (ftp)
Lägg också kopior lokalt, och [...]]]></description>
			<content:encoded><![CDATA[<p>Nu ska jag reda ut ett &#8220;problem&#8221; som jag inte trodde jag hade förens jag tänkte till. Hur man gör backups <em>säkert</em>.<span id="more-23"></span></p>
<p>Fram tills nu så har jag kört med ett litet bashskript som heter <a href="http://www.ameir.net/blog/index.php?/archives/18-MySQL-Backup-to-FTP-and-Email-Shell-Script-for-Cron-v2.1.html">backupmysql-2.sh</a>, scriptet är ganska lätt:</p>
<ol>
<li>Dumpa valda databaser mha. mysqldump<img class="alignright size-full wp-image-25" title="tval" src="http://denajs.se/blog/wp-content/uploads/2009/08/ett.jpg" alt="tval" width="200" height="100" /></li>
<li>gzip:a .sql-filerna</li>
<li>Ladda upp dom på en annan backup-server (ftp)</li>
<li>Lägg också kopior lokalt, och ta bort de som är &gt; x antal dagar gamla.</li>
</ol>
<p>Detta verkar ju ganska bra, men faktum är att om någon skulle bryta sig in på server och gå in för att sabba så kan man lika gärna köra utan backup. Denna metod är bra backup mot t.ex. diskcrasher och liknande, men får man intrång på servern är man körd, varför då detta? Jo, i bashfilen lagras nämligen lösenord och inloggningsuppgifter till servern dit kopiorna blir uppladdade. Hittar den som gör intrång detta kan den alltså gå in och ta bort även dessa kopior, och därför är backupen värdelöst.</p>
<p>Hur löser man detta då? Jo, det är enkelt, vi börjar med samma steg igen:</p>
<ol>
<li>Dumpa valda databaser<img class="alignright size-full wp-image-25" title="tval" src="http://denajs.se/blog/wp-content/uploads/2009/08/tval.jpg" alt="tval" width="200" height="100" /></li>
<li>gzip:a .sql-filern</li>
<li>Ta bort gamla filer</li>
</ol>
<p>Sen, på den andra servern som ska ha backuperna</p>
<ol>
<li><strong>Hämta</strong> kopiorna med hjälp av t.ex. ftp</li>
<li>Ta bort gamla filer.</li>
</ol>
<p>Detta är alltså en lösning som kräver att båda servrarna har varsitt cronjob inlagt (förslagsvis en liten tid emellan så första servern är klar). Men med denna teknik så har man kvar kopiorna även om den första servern blir hackad och kopiorna därifrån tas bort.</p>
<p>Nackdelen är att om backupservern blir hackad så kan man komma åt huvudservern, men om man inte kör massa intrångsvänlig skit så borde inte det hända. Dessutom kan man ju strypa åt rättigheterna för användaren som backupservern loggar in med.</p>
]]></content:encoded>
			<wfw:commentRss>http://denajs.se/blog/backup-och-sakerhet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snygga &#8220;datum&#8221;</title>
		<link>http://denajs.se/blog/snygga-datum</link>
		<comments>http://denajs.se/blog/snygga-datum#comments</comments>
		<pubDate>Tue, 11 Aug 2009 14:33:26 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://denajs.se/blog/?p=5</guid>
		<description><![CDATA[Hittade lite kod om hur man fick sina datum till &#8220;5 dagar sedan&#8221; och så här, men det var ju C#, så jag gjorde en php-variant på svenska:

function time_since($since) {
 $delta = (time() - strtotime($since));
 if ($delta &#60; 60){
 return $delta == 1 ? "en sekund sedan" : $delta . " sekunder sedan";
 }
 if [...]]]></description>
			<content:encoded><![CDATA[<p>Hittade lite kod om hur man fick sina datum till &#8220;5 dagar sedan&#8221; och så här, men det var ju C#, så jag gjorde en php-variant på svenska:</p>
<p><span id="more-5"></span></p>
<pre>function time_since($since) {
 $delta = (time() - strtotime($since));
 if ($delta &lt; 60){
 return $delta == 1 ? "en sekund sedan" : $delta . " sekunder sedan";
 }
 if ($delta &lt; 120){
 return "en minut sedan";
 }
 if ($delta &lt; 2700){
 return round($delta/60) . " minuter sedan";
 }
 if ($delta &lt; 5400){
 return "en timme sedan";
 }
 if ($delta &lt; 86400){
 return round($delta/3600) . " timmar sedan";
 }
 if ($delta &lt; 172800){
 return "igår";
 }
 if ($delta &lt; 2592000){
 return round($delta/(3600*24)) . " dagar sedan";
 }
 if ($delta &lt; 31104000){
 return round($delta/(3600*24*30)) &lt;= 1 ? "en månad sedan" : round($delta/(3600*24*30)) . " månader sedan";
 }
 return round($delta/(3600*24*365)) &lt;= 1 ? "ett år sedan" : round($delta/(3600*24*365)) . " år sedan";
 }</pre>
<p>Det snygga är att <a href="http://php.net/strtotime">strtotime</a> kan matas med i stort sett alla datumformat, så några exempel är:</p>
<pre><code>echo time_since("2009-03-22"); //22:a mars
 echo time_since("2009-W30"); //Vecka 30 år 2009
 echo time_since("2009-08-11T13:39Z");</code></pre>
<p>Den sista är ett <a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>-format, så typ allt funkar.<br />
Det enda som inte är 100%-igt är att jag utgår ifrån att en månad är 30 dagar, men är man petig kan man ju skriva &#8220;ungefär&#8221; innan.</p>
]]></content:encoded>
			<wfw:commentRss>http://denajs.se/blog/snygga-datum/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello World</title>
		<link>http://denajs.se/blog/hello-world</link>
		<comments>http://denajs.se/blog/hello-world#comments</comments>
		<pubDate>Sun, 02 Aug 2009 21:17:03 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Övrigt]]></category>

		<guid isPermaLink="false">http://denajs.se/blog/?p=3</guid>
		<description><![CDATA[Ja, då var det dags igen. Här ska jag blogga lite tänkte jag-
]]></description>
			<content:encoded><![CDATA[<p>Ja, då var det dags igen. Här ska jag blogga lite tänkte jag-</p>
]]></content:encoded>
			<wfw:commentRss>http://denajs.se/blog/hello-world/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
