1 2 3 4 5 6
sub trim($){ my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+$//; return $string; }
1 2 3 4 5 6 7
# return date as string in format: YYYYMMDD sub date2str { # see 'perldoc -f localtime' for details my ( $sec, $min, $hour, $mday, $mon, $year ) = localtime; return sprintf "%04d%02d%02d", $year+1900, $mon+1, $mday; }
1 2 3 4 5 6
# return time as string in format: hhmmss sub time2str { my ( $sec, $min, $hour ) = localtime; return "%02d%02d%02d", $hour, $min, $sec; }
1 2 3
use POSIX qw/ strftime /; my $d = strftime("%Y-%m-%dT%H:%M:%S", localtime); my $filename = "...-$d";
1 2 3 4
use DateTime; my $dt = DateTime->now; # objekt # wird hier automatisch zu einem datummstring my $filename = "...-$dt";
1
2
3
4
5
6
use DateTime;
my $dt = DateTime->now; # objekt
# wird hier automatisch zu einem datummstring
my $filename = "Backup-$dt.tar.gz";
tar -cpzf ziel-pfad/Backup-$dt.tar.gz /backup-Dateipfad/;
1 2
print localtime; # oops, das war es wohl nicht 2131197411211271 print scalar locatime; # huhu: Mon May 7 19:30:54 2012
1
2
3
#use POSIX qw/ strftime /;
#my $d = strftime("%Y-%m-%dT%H:%M:%S", localtime);
#my $filename = "Backup-$d";
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl -w
# create backup
#use POSIX qw/ strftime /;
#my $d = strftime("%Y-%m-%dT%H:%M:%S", localtime);
#my $filename = "Backup-$d";
open(File, ">/pfad/htdocs/backup_neu/test.txt");
close(File);
tar -cpzf /pfad/htdocs/backup_neu/$filename.tar.gz /pfad/htdocs/ --exclude=/pfad/htdocs/backup/ ;
Guest FairyEinfach in einem neuen Thread fragen ;)Jetzt noch schauen wie ich mysql dbs sichern kann und alles ist wunderbar :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
#!/usr/bin/perl # create backup # Variablendefinition erzwingen use strict; # warungen einschalten (ist fast wie "-w") use warnings; # Modul "POSIX" laden und die "strftime" in den aktuellen Namensraum exportieren. use POSIX qw/ strftime /; my $workdir='/pfad/htdocs/backup_neu'; my $d = strftime("%Y-%m-%dT%H:%M:%S", localtime); my $filename = "Backup-$d"; if(open(my $fh, '>', "$workdir/test.txt")) { # etwas zufälligen Text einfügen: for(0..9) { print $fh chr(rand(94)+32) for(1..80); print $fh "\n"; } close($fh); } else { Fehlermeldung wenn Datei nicht erzeugt werden konnte warn "Error create file ($!)\n"; } # wenn ein Programm erfolgreich ausgeführt wurde gibt es "0" zurück ansonsten eine FehlerID die größer 0 ist. if( system("tar -cpzf '$workdir/$filename.tar.gz' /pfad/htdocs/ --exclude=/pfad/htdocs/backup/")!=0 ) { # Fehlermeldung wenn backup versagt warn "tar failed!\n"; }
Guest FairyDer gesammt Code schaut wie folgt der zeit aus:
Code: (dl )1
2
3#use POSIX qw/ strftime /;
#my $d = strftime("%Y-%m-%dT%H:%M:%S", localtime);
#my $filename = "Backup-$d";
Jemand noch eine Idee?
1 2 3 4 5 6
# oeffne "$filename" (ueber)schreibend oder beende das Skript mit Fehlermeldung open( my $handle, '>', $filename ) or die "open($filename, w) failed: $!\n"; print $handle "data\n"; close( $handle ) or die "close($filename) failed: $!\n";