#-----------------------------------------------------------------------------------------------------
#!/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!