<?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>Duality - GOD has created you &#187; backup</title>
	<atom:link href="http://www.rickyok.net/tag/backup/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rickyok.net</link>
	<description>Sharing information that we learned the hard way</description>
	<lastBuildDate>Fri, 26 Nov 2010 16:33:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Rsync Backup</title>
		<link>http://www.rickyok.net/2009/01/rsync-backup/</link>
		<comments>http://www.rickyok.net/2009/01/rsync-backup/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 07:49:11 +0000</pubDate>
		<dc:creator>rickyok</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://192.168.2.100/rickyok/?p=41</guid>
		<description><![CDATA[Saat anda mengembangkan project website yang lumayan banyak pengunjungnya, anda tidak mungkin langsung membuat code di halaman utamanya bukan, karena pasti langsung keliatan kalo ada error, dan itu sangat menganggu user. Anda mungkin mempunyai folder dengan nama anda sendiri. Saya mempergunakan nama *dev* untuk development dan *real* untuk yang bener2 diakses oleh user. Biasa nya [...]]]></description>
			<content:encoded><![CDATA[<p>Saat anda mengembangkan project website yang lumayan banyak pengunjungnya, anda tidak mungkin langsung membuat code di halaman utamanya bukan, karena pasti langsung keliatan kalo ada error, dan itu sangat menganggu user. Anda mungkin mempunyai folder dengan nama anda sendiri. Saya mempergunakan nama *dev* untuk development dan *real* untuk yang bener2 diakses oleh user.</p>
<p>Biasa nya anda akan rutin mengcopy file dari dev ke real setiap kali anda yakin bahwa sudah tidak ada bug lagi di dev. Tetapi proses copy ini selalu berulang2 dan memakan waktu. Sehingga saya memutuskan untuk membuat suatu script untuk melakukan tugas itu. Saya hanya mencoba script ini di Linux, tapi saya rasa ada versi rsync untuk Windows.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #007800;">DAY</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y%m%d&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">TIME</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%H:%M:%S&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> Start backup <span style="color: #007800;">$DAY</span> <span style="color: #007800;">$TIME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">----</span> Start backup <span style="color: #007800;">$DAY</span> <span style="color: #007800;">$TIME</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; backup.log
<span style="color: #666666; font-style: italic;"># First backup the old data</span>
<span style="color: #007800;">FOLDERTOBACKUP</span>=<span style="color: #ff0000;">'real'</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'-- Zip the old file --'</span>
<span style="color: #c20cb9; font-weight: bold;">tar</span> zcf <span style="color: #007800;">$FOLDERTOBACKUP</span><span style="color: #007800;">$DAY</span>.tar.gz <span style="color: #007800;">$FOLDERTOBACKUP</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> Done<span style="color: #000000; font-weight: bold;">!</span>
<span style="color: #666666; font-style: italic;"># Do the backup</span>
<span style="color: #007800;">SOURCE</span>=<span style="color: #ff0000;">'dev/'</span>
<span style="color: #007800;">TARGET</span>=<span style="color: #ff0000;">'real'</span>
<span style="color: #007800;">OPTS</span>=<span style="color: #ff0000;">&quot;-av
--delete
--exclude=application/config
--exclude=application/admin/config
--exclude=admin/controllers/login.php
--exclude=cron_*.php
&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;-- Copy file --&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> Copy Options : <span style="color: #007800;">$OPTS</span>
rsync <span style="color: #007800;">$OPTS</span> <span style="color: #007800;">$SOURCE</span> <span style="color: #007800;">$TARGET</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; backup.log
<span style="color: #7a0874; font-weight: bold;">echo</span> Done<span style="color: #000000; font-weight: bold;">!</span>
<span style="color: #666666; font-style: italic;"># End Backup</span>
<span style="color: #007800;">TIME</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%H:%M:%S&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> End backup <span style="color: #007800;">$DAY</span> <span style="color: #007800;">$TIME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">----</span> End backup <span style="color: #007800;">$DAY</span> <span style="color: #007800;">$TIME</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; backup.log</pre></div></div>

<p>Code di atas untuk pertama mengkompresi dulu semua file yang ada di *real* (jaga2 kalo ada masalah dengan pemindahan sistem, tinggal di extract ulang aja). Lalu lakukan sync (penyamaan data) dari dev ke real. Hebat nya rsync ini, anda engga perlu mengcopy semua file. Hanya file yang dibutuhkan aja yang dipindahin. Saya akan jelasin option2 simple nya.</p>
<ol>
<li> -a digunakan untuk *archive*, ini kumpulan dari banyak perintah, yang berarti “buatlah copy yang hampir sama persis dengan aslinya”</li>
<li> -v adalah singkatan dari *verbose*. Yang artinya kasih keterangan lebih detail. Program akan memberikan informasi file mana aja yang di delete, dan yang di copy. Semua informasi tersebut akan dicopy ke log file</li>
<li> -delete dipergunakan untuk menghapus file2 yang hilang dari dev.</li>
<li> -exlcude dipergunakan untuk tidak memasukan file2 yang ada dengan pattern ini. Engga perlu tulis direktori lengkap nya. Hanya tulis pattern nya saja.</li>
</ol>
<p>Satu lagi yang hebat dari rsync adalah dia Remote Sync. Jadi sebenernya diciptakan untuk bisa backup remote. Anda bisa akses computer laen dengan ganti source dan targetnya di bagian ini :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">SOURCE</span>=<span style="color: #ff0000;">'dev/'</span>
<span style="color: #007800;">TARGET</span>=<span style="color: #ff0000;">'real'</span></pre></div></div>

<p>contoh akses ke server laen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">TARGET</span>=<span style="color: #ff0000;">'namauser@ipserver:/path/to/directory'</span></pre></div></div>

<p>dan itu juga bisa diterapkan kepada sourcenya.<br />
Sekian tutorial dari saya, sampai ketemu di tutorial selanjutnya.</p>
<h2>Referensi</h2>
<ul>
<li><a title="http://samba.anu.edu.au/rsync/" rel="nofollow" href="http://samba.anu.edu.au/rsync/" target="_new" onclick="pageTracker._trackPageview('/outgoing/samba.anu.edu.au/rsync/?referer=');">Website resmi rsync</a></li>
<li><a title="http://samba.anu.edu.au/ftp/rsync/rsync.html" rel="nofollow" href="http://samba.anu.edu.au/ftp/rsync/rsync.html" target="_new" onclick="pageTracker._trackPageview('/outgoing/samba.anu.edu.au/ftp/rsync/rsync.html?referer=');">Manual cara penggunaan</a></li>
</ul>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.rickyok.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p><div style='display:none' id="post-refEl-41"></div>]]></content:encoded>
			<wfw:commentRss>http://www.rickyok.net/2009/01/rsync-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>logrotate untuk backup mysql</title>
		<link>http://www.rickyok.net/2008/08/logrotate-untuk-backup-mysql/</link>
		<comments>http://www.rickyok.net/2008/08/logrotate-untuk-backup-mysql/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 01:31:00 +0000</pubDate>
		<dc:creator>rickyok</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[logrotate]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://192.168.2.100/rickyok/?p=37</guid>
		<description><![CDATA[Saya sempet cari beberapa alternatif untuk backup server mysql harian, salah satu alternatif yang kepikiran sebenernya pake cron job. Tapi cron akan membuat log nya numpuk jadi banyak sekali, karena engga pernah di delete. Apalagi kalo database nya udah gede banget. Setelah browsing2 di internet, saya menemukan solusi untuk backup mysql pake logrotate. logrotate adalah [...]]]></description>
			<content:encoded><![CDATA[<p>Saya sempet cari beberapa alternatif untuk backup server mysql harian, salah satu alternatif yang kepikiran sebenernya pake cron job. Tapi cron akan membuat log nya numpuk jadi banyak sekali, karena engga pernah di delete. Apalagi kalo database nya udah gede banget. Setelah browsing2 di internet, saya menemukan solusi untuk backup mysql pake logrotate.</p>
<p>logrotate adalah fungsi yang sebenernya digunakan untuk backup log yang udah lama, terus di rotasi. Log yang udah lama akan di compress. Log yang baru akan dimulai lagi dari file kosong. Log yang sudah lewat umurnya akan otomatis di delete. Biasanya digunakan hanya untuk file2 log seperti log apache, system dll.</p>
<p>Simple nya sih, log rotate akan mengganti backup.sql.gz terakhir jadi backup.sql.gz.1 yang 1 jadi 2, 2 jadi 3 dan seterusnya. Terus yang terakhir dibuang. Jadi jumlah backup nya selalu sama sesuai dengan setting nya. Misalnya 1 minggu atau 1 bulan jatah punya backup. Setelah logrotate melakukan tugas nya, setting log rotate agar menjalankan mysqldump sehingga keluar dump baru backup.sql.gz yang terbaru.</p>
<p>Bentuk file setting nya kurang lebih seperti ini :<br /><quote><br />/dumps/mybase.sql.gz {<br />        rotate 60<br />        daily<br />        nocompress<br />        nocopytruncate<br />        postrotate<br />          HOME=/root mysqldump &#8211;opt mybase | gzip > /dumps/mybase.sql.gz<br />        endscript<br />}<br /></quote></p>
<p>Save file ini di bawah /etc/logrotate.d/ Semua file yang ada di bawah situ akan dijalankan waktu logrotate dijalankan.</p>
<p>Terus sebelum logrotate bisa dipake harus dilakukan backup pertama dengan menjalankan sendiri perintah ini</p>
<p>mysqldump &#8211;opt mybase | gzip > /dumps/mybase.sql.gz</p>
<p>Jangan lupa buat dulu folder /dumps nya ^^</p>
<p>Setelah itu kita coba jalanin logrotate untuk pertama kali nya. dengan cara paksa dengan perintah ini</p>
<p>logrotate -f /etc/logrotate.d/mysql-dumps</p>
<p>Kalo berhasil, akan keluar file dengan ext .1 selain dari pada file .gz aslinya. Kalo udah begitu proses sudah berjalan dengan baik, dan backup akan dijalankan otomatis secara harian.</p>
<p>Proses lengkap nya bisa dibaca <a href="http://rickyok.net/cs/mysql" onclick="pageTracker._trackPageview('/outgoing/rickyok.net/cs/mysql?referer=');">di sini</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="pageTracker._trackPageview('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.rickyok.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p><div style='display:none' id="post-refEl-37"></div>]]></content:encoded>
			<wfw:commentRss>http://www.rickyok.net/2008/08/logrotate-untuk-backup-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

