Adam Kucza

Elvis żyje!!! ;-]

blogger czy logger?

  • Kalendarzyk

    luty 2007
    P W Ś C P S N
    « stycznia   marca »
     1234
    567891011
    12131415161718
    19202122232425
    262728  
  • Licznik

    • 2 aktualnie online
    • 92947 wszystkich odwiedziń

rsync Twoim przyjacielem

Autor: Adam Kucza o piątek 9. luty 2007

Oddaję do użytku skrypt mojego autorstwa napisany w php, wykonujący kopię synchronizacyjną plików znajdujących się w katalogu podanym jako pierwszy parametr wywołania.

#! /usr/local/bin/php -f
# by Adam Kucza (c) 2007
<?
$x = $_SERVER[”argv”];

if (count($x)==4)
{
//print_r($x);

$rsync = „/usr/local/bin/rsync”;

$srv = $x[1];
$src = $x[2];
$dst = $x[3];

$t = getdate();
//print_r($t);
if (strlen($t[’mon’])<10) $t['mon']="0".$t['mon'];
if (strlen($t['mday'])<10) $t['mday']="0".$t['mday'];
$l = "/var/log/rsync/".$x[1]."_".$t['year']."-".$t['mon']."-".$t['mday']."_".$t['hours'].".".$t['minutes'].".".$t['seconds'];

$o = "";
$o .= "-a ";
$o .= "-v ";
$o .= "-z ";
$o .= "–delete ";
$o .= "–ignore-errors ";
$o .= "–force ";
$o .= "–stats ";
$o .= "–log-file=".$l." ";
//$o .= "–dry-run ";
//$o .= "–modify-window=1 ";
//$o .= "–iconv=UTF-8,CP1251 ";
//$o .= "–blocking-io ";
//$o .= "–delete-after ";
//$o .= "–delete-before ";
//$o .= "–progress ";
//$o .= "–delete-excluded ";
//$o .= "–exclude-from=$EXCLUDES ";
//$o .= "–backup –backup-dir=/$BACKUPDIR -a ";

$z = $rsync." ".$o." ".$src." ".$srv."::".$dst;
echo $z."\n";

system($z);

}
else
{
echo "\nusage: ".$x[0]." server_address source_folder destination_module\n";
echo "\nexample: ".$x[0]." 192.168.1.100 /home/user/ backup_module\n";
}
echo "\n";
?>

Przykład jego wywołania wygląda np. tak:

./rsync.php /home/users/ backup_server

enjoy! :)

» wpis obejrzano 5920 razy przez 1704 internautów «

1 Komentarz do “rsync Twoim przyjacielem”

  1. AKucza napisał(a):

    Witam,

    Skrypt bardzo fajny. Ale po co zaprzęgać php jak to samo zrobi powłoka sh czy bash?
    Troszkę przekombinowane to. Ale najważniejsze, że działa i spełnia Twoje wymagania

Zostaw komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>