lms-backup - krótki skrypcik w PERLu, specjalnie dla was ;)
#----------------------------------------------------------------------------------------------------- #!/usr/bin/perl use warnings; use strict; my $tim = time(); # folder z backupami my $dir = "/home/router/public_html/lms/backups/"; # nazwa pliku archiwum my $fil = "lms-" . $tim . ".sql.gz"; # polecenie do wykonania my $exe = "/usr/bin/mysqldump -u lms --password=super_tajne_haslo --add-drop-table --add-locks lms | gzip -9 > " . $dir . $fil; # przeglądaj opendir(LISTDIR, $dir) || die "can't open dir $dir: $!"; my @lis = readdir(LISTDIR); closedir(LISTDIR); # szukamy plików starszych niż 1 miesiąc (2678400 sekund) ... i kasujemy; zanim odkomentujesz "unlink", przetestuj wynik! print "Our files:\n"; foreach (@lis) { if (/^lms\-(\d+)\./) { print "\t$_\n"; if ($1 + 2678400 < $tim) { print "\t\t - deleting...\n"; #unlink($dir . $_); } } } # tworzymy kopię bazy danych system($exe) == 0 || die "can't create backup of database: $!"; # ustawiamy usera i grupę www-data na nowy plik chown 33, 33, $dir . $fil; #----------------------------------------------------------------------------------------------------- Poprawki mile widziane, najlepiej w odpowiedzi na ten wątek. Licencja GNU GPL ;) Pozdrawiam, Konrad !DSPAM:49444bd798891989010922!
uczestnicy (1)
-
Konrad