d4mi4n
volksoperator on duty
hiho,
hab hier ein kleines perlscript zum sichern vom homeverzeichnis, kann des bitte mal jemand testen? ich kann das hier im geschäft nicht laufen lassen da ich an ner windowskiste sitze grad, oder ich machs heut abend
hab hier ein kleines perlscript zum sichern vom homeverzeichnis, kann des bitte mal jemand testen? ich kann das hier im geschäft nicht laufen lassen da ich an ner windowskiste sitze grad, oder ich machs heut abend
Code:
#!/usr/local/bin/perl
use strict;
my $homedir = "/usr/home/";
my $destdir = "/tmp/backup/";
my $date = ¤tdate();
print "\nusername (for backing up his home directory):\n";
chomp(my $username = <STDIN>);
if(! defined getpwnam($username)){
print "user exists? ...no\nERROR: user $username does not exist\n";
exit -1;
}else{
print "user exists? ...yes\n";
}
$homedir .= $username;
if (-d $destdir){
print "backupdir exists? ...ok\n";
if (-d ($destdir.$username)){
print "user-backupdir exists? ...ok\n";
}else{
print "user-backupdir exists? ...no\n";
mkdir $destdir.$username or die "ERROR: could not make user-backupdirektory\n";
print "user-backupdir created\n";
}
}else{
print "backupdir exists? ...no\n";
mkdir $destdir or die "ERROR: could not make backupdirektory\n";
print "backupdir created\n";
mkdir $destdir.$username or die "ERROR: could not make user-backupdirektory\n";
print "user-backupdir created\n";
}
system "tar -zcvf $destdir$username/$date.tar.gz $homedir/* \n" or die "fehler beim taren\n";
print "\n${username}s homedirectory is successfully backed up in $destdir\n";
sub currentdate(){
(my $sec,my $min,my $hrs,my $day,my $mon,my $year) = (localtime(time))[0,1,2,3,4,5];
my $time = sprintf("%02d%02d%02d", $hrs, $min, $sec);
$year += 1900;
$mon += 1;
my $date = sprintf("%04d%02d%02d", $year, $mon, $day);
return $date."_".$time;
}