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! 🙂