• L3
  • Menu Kiri 1
  • Menu Kiri 2
  • Menu Kanan 1
  • Menu Kanan 2

Medi Komputer

tutorial komputer service merakit laptop dan cara merawat komputer

  • Home
  • Tutor Seo
    • Meta
    • Do follow
    • Generator
    • Alexa
    • Friendly
    • Rangking
    • Search Engine
    • Traffic
    • Sitemap
    • Bing
    • Google
    • Webmaster
    • Pengunjung
    • Google Panda
    • Pengunjung
  • Template
    • Blogger
    • Wordpress
    • Joombla
    • Magazine
    • Template Seo
    • By Kolom
    • Template Toko
  • Widget
    • Sidebar
    • Alexa
    • Iklan
    • Pasang
  • Gadget
    • Harga
    • Android
    • Blackberry
    • Samsung
    • Iphone
    • Nokia
    • Imo
    • Symbian
    • Tablet
    • Smartphone
    • Sony
  • Trik Gratis
    • Internet Gratis
    • Inject
    • SSH
  • Operator
    • Telkomsel
    • Indosat
    • Smartfren
    • Three 3
    • Axis
    • Modem
    • Paket
  • Laptop
    • Thosiba
    • Axio
    • Asus
    • Acer
    • Lenovo
    • Apple
    • Dell
  • Materi Kampus
    • Kampus
    • Teknik Informatika
    • Sistem Informasi
    • Belajar PHP
    • Belajar Database
    • Belajar Sql
    • Belajar Program
    • Belajar Algoritma
    • Belajar Binary
    • Belajar HTML
    • Belajar Java Script
    • Belajar Sql
    • Belajar CSS
    • Belajar Jquery
    • Belajar Praggaming
    • Belajar CMS
    • Belajar Sql
    • Bab Kuliah
    • Materi Kuliah
    • Skripsi
Home » Linux » Back-up Filesystem dengan Histori Menggunakan rsync 1

Back-up Filesystem dengan Histori Menggunakan rsync 1

Pengertian histori back-up 
Apa maksudnya backup dengan histori?  Artinya, back-up yang telah dilakukan pada  periode sebelumnya (misal: kemarin, 2  hari lalu, seminggu lalu, dan seterusnya),  tidak dihapus melainkan tetap disimpan.  Umumnya, standar di dunia TI dalam  back-up korporat adalah menyimpan backup  data terbaru, 7 histori backup harian,  4 histori backup mingguan, dan beberapa  histori backup bulanan (mis: 12). Sehingga  periode histori total adalah 12 bulan.  Back-up dengan histori lebih berguna  karena dapat membantu menyelamatkan  data yang rusak atau terhapus tapi tidak  segera diketahui. Misalnya Anda secara  tak sadar menghapus sebuah direktori  yang dirasa tidak dibutuhkan lagi karena  proyek sudah selesai. Ternyata sebulan  kemudian, proyek diteruskan. Jika tidak  menyim pan histori back-up, maka setelah  Anda menghapus direktori tersebut, pada  run back-up harian berikutnya data backup  terbaru pun tidak akan lagi berisi data  direktori tersebut, karena back-up terbaru  mengikuti perkembangan data terbaru.  Atau, katakanlah Anda menggunakan  atau mengembangkan program versi baru.  Ternyata setelah beberapa saat baru diketahui  bahwa program ini mengandung  bug dan sedikit demi sedikit merusak atau  menghapus sebagian kecil data. Agar yakin  tidak kehilangan data berharga, Anda ingin  membandingkan data yang ada sekarang  dengan kondisi 6 bulan yang lalu.  Atau, Anda ingin kembali pada kondisi  konfi gurasi seminggu yang lalu sebelum  Anda melakukan instal ulang OS. Jika  Anda melakukan back-up dengan histori  pada direktori /etc, hal ini mudah saja dilakukan.  Tinggal mengambil data histori  backup yang sesuai.

Program back-up-with-history 
Berikut ini implementasi sistem back-up  harian dengan histori menggunakan rsync,  dalam sekitar 100 baris Perl. Save program  ini dengan nama back-up-with-history.pl.
#!/usr/bin/perl -w
use strict;
use Cwd qw(abs_path);
use POSIX;
use Time::Local;
# --- config
my $HISTORIES = [ -7, 4, 3 ];
# --- subs
sub esc {
local $_ = shift;
s/’/’”’”’/g;
“’$_’”;
}
# --- main
@ARGV == 2 or die “Usage: $0
\n”;
my ( $src, $dst ) = @ARGV;
for ( $src, $dst ) {s!/$!!}
( -d $src ) or die “Src haruslah
direktori yang sudah ada: $src\n”;
system “mkdir -p “ . esc(“$dst/
current”);
( -d “$dst/current” ) or die “Gagal
membuat creating $dst/current\n”;
print “Membuat backup terbaru $src
ke $dst/ ...\n”;
system “nice -n19 rsync -av --del
--force “
. “--link-dest “
. esc( abs_path(“$dst”) . “/
current” ) . “ “
. esc(“$src/”) . “ “
. esc(“$dst/.work/”) . “\n”;

warn “Perintah rsync tidak sukses,
sebaiknya Anda periksa\n” if $?;
chdir($dst) or die “Tidak bisa chdir
ke $dst: $!\n”;
system “touch .current.timestamp”;
my $now = time;
my @st = stat(“.current.timestamp”);
my $tstamp
= POSIX::strftime( “%Y-%m-
%d\@%H:%M:%S+00”, gmtime( $st[9] ||
$now ) );
rmdir “current” or rename “current”,
“hist.$tstamp”;
rename “.work”, “current”;
print “Menghapus histori backup yang
sudah terlalu lama ...\n”;
for my $level ( 1 .. @$HISTORIES ) {
my $is_highest_level = $level ==
@$HISTORIES;
my $prefix = “hist” . ( $level ==
1? : $level );
my $prefix_next_level = “hist” .
( $level + 1 );
my $n = $HISTORIES->[ $level
- 1 ];
my $moved = 0;
if ( $n > 0 ) {
print “Hanya menyimpan $n
buah histori backup L$level ...\n”;
my @f = reverse sort grep
{!/\.work$/ } glob “$prefix.*”;
my $any_tagged = ( grep {/
t$/} @f )? 1: 0;
for my $f ( @f[ $n .. @f - 1
] ) {
my ( $st, $tagged ) = $f
=~ /[^.]+\.(.+?)(t)?$/;
my $f2 = “$prefix_next_
level.$st”;
if ( !$is_highest_level
&&!$moved
&& ( $tagged
||!$any_tagged ) )
{
print “Memindahkan
level histori backup: $f -> $f2\n”;
system “mv “ .
esc($f) . “ “ . esc($f2);
$moved++;
if ( $f ne $f[0] ) {
my $e3 = esc(
$f[0] );

system “mv $e3
${e3}t”;
}
}
else {
print “Menghapus
histori backup: $f ...\n”;
system “nice -n19 rm
-rf “ . esc($f);
}
}
}
else {
$n = -$n;
print “Hanya menyimpan
histori backup L$level sd $n hari
...\n”;
my @f = reverse sort grep
{!/\.work$/ } glob “$prefix.*”;
my $any_tagged = ( grep {/
t$/} @f )? 1: 0;
for my $f (@f) {
my ( $st, $tagged ) = $f
=~ /[^.]+\.(.+?)(t)?$/;
my $f2 = “$prefix_next_
level.$st”;
my $t;
$st =~ /(\d\d\d\d)-
(\d\d)-(\d\d)\@(\d\d):(\d\d):(\d\
d)\+00/;
$t = timegm( $6, $5, $4,
$3, $2 - 1, $1 ) if $1;
$st && $t or do {
print “Histori
backup salah format: $f, diabaikan\
n”;
next;
};
if ( $t > $now ) {
print “Histori
backup di masa depan? $f, diabaikan\
n”;
next;
}
my $delta = ( $now - $t
) / 86400;
if ( $delta > $n ) {
if ( !$is_highest_
level
&&!$moved
&& ( $tagged
||!$any_tagged ) )
{
print
“Memindahkan level histori backup:

$f -> $f2\n”;
system “mv “ .
esc($f) . “ “ . esc($f2);
$moved++;
if ( $f ne $f[0]
) {
my $e3 =
esc( $f[0] );
system “mv
$e3 ${e3}t”;
}
}
else {
print “Menghapus
history backup: $f ...\n”;
system “nice -
n19 rm -rf “ . esc($f);
}
}
}
}
}
__END__


Cara menggunakan skrip ini:
$ backup-with-history DIR DIRBACKUP
 DIR adalah direktori yang ingin di-backup,  misalnya /home/steven. DIRBACKUP  adalah lokasi back-up yang diinginkan,  misal: /backup/home-steven. Sebaiknya /  backup berada pada harddisk yang berbeda,  karena tujuan back-up lokal adalah menghindari  kehilangan data akibat kerusakan  harddisk. Selesai proses back-up, skrip akan  membentuk direktori DIRBACKUP/current/  yang berisi backup terbaru, dan serangkaian  direktori DIRBACKUP/hist.*, hist2.*, dan  hist3.* yang berisi histori backup harian,  mingguan, bulanan.  Untuk melakukan backup itu sendiri intinya  pada baris 27-31, yaitu mengandalkan  rsync. Rsync sudah akan menangani transfer  dan sinkronisasi struktur direktori beserta  metadata setiap fi le (permission, kepemilikan,  tanggal, dan seba gainya). Dengan opsi  --link-dest, rsync juga akan membandingkan  data yang ada dengan back-up terakhir (current/)  dan melakukan hardlinking jika memungkinkan.  Sisa dari skrip sebagian besar  adalah penanganan rotasi histori back-up.  Skrip ini masih sederhana. Bisa Anda  tambah agar dapat dikonfi gurasi (misal:  opsi --exclude rsync, dan lain-lain). Selamat  mencoba

  • Eye Os Web Operating Syatem
  • Epiphany Linux Internet Software  
  • SM Player XWindows
  •  mnoGoSearch 3.2.43 X Windows
  • Extened Module Player 
  • Patient OS Free Medical Software 
  • Mail Notification 4.1 / 5.0 RC1
  • Shrinkta 0.1-8
  • WebIssues 0.8.3 / 0.9.2 RC1 [ INTERNET ]
  • Autofill Forms 0.8
  • DISTRO DESKTOP Linux Terbaik
  • DESKTOP ENVIRONMENT Linux Terbaik
  • PAKET OFFICE  Linux Terbaik
  • Web browser Terbaik Linux
  • EMAIL CLIENT  Terbaik Linux
  • MULTIMEDIA/VIDEO PLAYER terbaik LINUX
  • Membangun Router Warnet dengan IPCop Bag1
  • Membangun Router Warnet dengan IPCop Bag2
  • Efek 3D Desktop Canggih dengan Compiz Fusion 
  • Evince 2.20.2 
Posted by Unknown on Minggu, 02 Mei 2010 - Rating: 4.5
Title : Back-up Filesystem dengan Histori Menggunakan rsync 1
Description : Pengertian histori back-up  Apa maksudnya backup dengan histori?  Artinya, back-up yang telah dilakukan pada  periode sebelumnya (misal: kem...
Share artikel ke: Facebook Twitter Google+ Linkedin Technorati Digg

0 Response to "Back-up Filesystem dengan Histori Menggunakan rsync 1"

Posting Komentar

Posting Lebih Baru
Posting Lama
Beranda
Langganan: Posting Komentar (Atom)

Adv

Copyright © 2012 Medi Komputer - All Rights Reserved