Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/php
- <?php
- /*
- Name BackupSystem with Rsync over Linux
- Version 1.0
- Autor Angel Cantu Jauregui
- Mail [email protected]
- This software use rsync to make backups for multipaths, use it for mantain safety your information :D
- :: How to mount CIFS Shared on FSTAB ?
- //IP_SERVER/SHARED_DIR /mnt/yourpath cifs username=USERNAME,password=KEY,vers=1.0 1 1
- */
- $secfileonbackup= 'backup.txt'; # este archivo debe existir en la carpet destino de respaldos
- $tmpfile= "/tmp/rsynctmp.out"; # temporal para resguardo previo
- $dstlog=""; # log destino
- $files= array(
- "documentos"=>array(
- "src"=>"/home/angel/Documentos/", # imagen en el path real de tu equipo
- "dst"=>"/mnt/net/" # nombre de la carpeta de respaldos
- ),
- "imagenes"=>array(
- "src"=>"/home/angel/Imagánes/", # imagen en el path real de tu equipo
- "dst"=>"/mnt/net/" # nombre de la carpeta de respaldos
- )
- );
- echo "#########################\n##\tBackups System\t#\n#########################\n";
- $msg="## Backup date ". date( "d/m/Y, g:i\t", time() ). "\n";
- system( "touch ". $tmpfile ); # creamos archivo
- foreach( $files as $key=>$val )
- {
- echo "\nBackup directory: ". $val["src"]. "\t";
- if( !file_exists($val["dst"].$secfileonbackup) ) # verificando archivo de seguridad
- {
- echo "[Error - The security file does not exists";
- $msg .= "\nDirectory: ". $val["src"]. " [Error - No security file]";
- }
- else if( !file_exists($val["src"]) )
- {
- echo "[Error - Source directory does not exists]";
- $msg .= "\nDirectory ". $val["src"]. " [Error - not exists]";
- }
- else # respaldando
- {
- # si no existe directorio especial de guardado DENTRO del compartido, lo creamos
- if( !file_exists($val["src"].$key) ) mkdir($val["src"].$key);
- $dstlog .= ((!$dstlog && $val["dst"]) ? $val["dst"]:""); # si no tiene, guardamos una UNICA vez
- $msg .= "\nDirectory: ". $val["src"]. " [Done]";
- $cmd= "/usr/bin/rsync -rav ". $val["src"]. " ". $val["dst"].$key. " >> ". $tmpfile;
- system($cmd);
- echo "[OK]";
- unset($cmd);
- }
- }
- # escribimos log en el compartido
- echo "\n\nWriting result\t";
- if( !$dstlog )
- echo "[Error]";
- else
- {
- $msg .= "\n\n---- Log rsync\n\n". file_get_content($tmpfile); # colocamos la salida RSYNC
- $fp= fopen($dstlog.$secfileonbackup, "w"); # crea nuevo stream
- fwrite($fp, $msg, strlen($msg)); # escribimos buffer
- fclose($fp); # cerramos stream
- echo "[Done]";
- }
- unlink($tmpfile);
- unset($msg, $files, $secfileonbackup);
- echo "\n\n";
- exit;
- ?>
Advertisement
Add Comment
Please, Sign In to add comment