J’ai été obligé de mettre en place cette solution, à cause d’un collègue que je croyais mon ami qui préconise aux clients des sauvegardes sur CD plutôt que sur bande. Perso moi je préfère les bandes c’est moins reloud pour l’admin. En plus ce traître fait du kite en barbu à SF.
Réaliser les étapes suivantes (Si c’est pas une debian et/ou perl n’est pas installe je m’en tape !) :
apt-get install fam libfam-dev cdrecord mkisofs perl -MCPAN -e 'install SGI::FAM'
Si tu sais te servir de ton clavier tu devrais y arriver.
Placer ce script ou vous voulez genre dans /dev/burne.ple ensuite faire :
echo 7:23:respawn:/dev/burne.pl >> /etc/inittab killall -HUP init
C’est la partie la plus compliquée de ce concept la pédagogie...
il faut créer un partage samba qui s’appelle ‘graveur’ et attention c’est important qui soit connecté sur G:, sinon l’abruti il (ou elle le plus souvent) à du mal. Ce partage contient trois dossiers :
‘control‘.Voici le genre d’abruti a qui vous pouvez avoir a faire :
Je comprends pas môssieur, le fichier start a disparu, alors je l'ai recrée tout de suite, mais il a encore disparu, alors je l'ai encore recréé, et pis a partir de la la machine répondait plus, et je me demande si la gravure va bien fonctionner ? --------------------------- Rolphin Antoine INFO/MCP/CLS Poste Agence tél : (01 94 2)6 43 73 antoine.rolphin@socsen.com
#!/usr/bin/perl -w my $h = { control => '/mnt/exports/graveur/control', data => '/mnt/exports/graveur/data', iso => '/mnt/exports/graveur/iso/image.iso', cdrecord => '/usr/bin/cdrecord', mkisofs => '/usr/bin/mkisofs', }; $h->{log} = $h->{control}."/log.txt"; $h->{OK} = $h->{control}."/cd_ok.txt"; $h->{NOK} = $h->{control}."/cd_error.txt"; $h->{start} = "start.txt"; sub do_burn { my $start = "$h->{control}/$h->{start}"; return unless -f $start; unlink $h->{log}; close STDERR; open STDERR, ">$h->{log}"; close STDOUT; open STDOUT, ">$h->{log}"; unlink $start; unlink $h->{OK}; unlink $h->{NOK}; unlink $h->{iso}; my @args = ($h->{mkisofs}, '-o', $h->{iso} , qw(-J -input-charset ISO8859-15), $h->{data}); if (system(@args)) { warn "system @args failed: $?"; if (system('touch', $h->{NOK} )) { warn "system @args failed: $?"; } } else { my @args = ($h->{cdrecord}, qw(-dummy -eject -dao -gracetime 0), $h->{iso}); if (system(@args)) { warn "system @args failed: $?"; if (system('touch', $h->{NOK} )) { warn "system @args failed: $?"; } } else { if (system('touch', $h->{OK} )) { warn "system @args failed: $?"; } } } unlink $start; } use SGI::FAM; my $fam=new SGI::FAM; unlink $h->{log}; $fam->monitor($h->{control}); while (1) { my $event=$fam->next_event; # Blocks do_burn if ($event->filename =~ /$h->{start}/i); }
Pour que ça marche il y a un certain nombre de pre requis techniques...
Il manquera probablement quelques petits trucs techniques pour que ça marche.