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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| #!/usr/bin/perl
use warnings;
use strict;
use Archive::Tar;
use File::Copy;
#use Mojolicious::Plugin::Mail;
#On indique le chemin des fichier de conf
my $vsftpdconfig = "/etc/vsftpd.conf";
my $sshconfig = "/etc/ssh/ssh_config";
my $transmissionconfig = "/etc/transmission-daemon/settings.json";
my $networkconfig = "/etc/network/interfaces";
my $apache2config = "/etc/apache2/apache2.conf";
my $date = date()->{'date'};
my $nomRep = "SaveConf_$date";
my $saveTar = Archive::Tar->new;
#On change de repertoire et on créer le dossier des fichiers à sauvegarder
chdir('/etc/') or die("Erreur lors du changement de repertoire");
mkdir( $nomRep, 0755 ) or die("Erreur lors de la creation du repertoire");
chdir($nomRep) or die("Erreur lors du changement de repertoire");
copy( $vsftpdconfig, "vsftpd.conf" );
copy( $sshconfig, "ssh_config" );
copy( $transmissionconfig, "settings.json" );
copy( $networkconfig, "interfaces" );
copy( $apache2config, "apache2.conf" );
$saveTar->add_files( 'vsftpd.conf', 'ssh_config', 'settings.json', 'interfaces', 'apache2.conf' );
$saveTar->rename($nomRep);
$saveTar->write( $nomRep . ".tar" );
sub date {
my $time = shift || time; #$time par defaut vaut le time actuel
my ( $seconde, $minute, $heure, $jour, $mois, $annee, $jour_semaine, $jour_annee, $heure_hiver_ou_ete )
= localtime($time);
$mois += 1;
$annee += 1900;
# On rajoute 0 si le chiffre est compris entre 1 et 9
foreach ( $seconde, $minute, $heure, $jour, $mois, $annee ) {
s/^(\d)$/0$1/;
}
my %date = (
"date" => "$jour-$mois-$annee",
"heure" => "$heure:$minute:$seconde",
"jour_semaine" => $jour_semaine,
"jour_annee" => $jour_annee,
"hiverOuEte" => $heure_hiver_ou_ete,
);
return \%date;
} |
Partager