Bonjour,
J'ai fait un petit script qui a pour but de collecter des données sur un serveur x et les copier sur un serveur y. Lorsque je roule le script manuellement sur le serveur en l'appelant de cette façon: ./rsync.pl cela fonctionne sans problème.
Le problème est qu'il ne fonctionne pas dans un crontab.
Voici mon crontab:
Et voici mon script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 # Mise a jour hebdo des donnees provenant du cdrmgr pour Rapport Hebdo 50 10 * * * /var/www/Rapport/Scripts/rsync.pl
La partie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #!/usr/bin/perl -w use POSIX qw(strftime); open(FILEHANDLER,">/var/www/Rapport/Scripts/toto.txt"); close(FILEHANDLER); my $date = strftime "%Y-%m-%d", localtime; my $path = <<"PATH"; '"/opt/cdrmgr/reports/Hebdo_call_type_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_on_net_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_on_to_off_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_off_to_on_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_announcement_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_vm_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_call_term_causes_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_call_completion_total_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_call_completion_normal_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_call_vm_total_CA156_$date\_00:00:00.csv" "/opt/cdrmgr/reports/Hebdo_call_vm_normal_CA156_$date\_00:00:00.csv"' /var/www/Rapport/cdr PATH my $Rsync = "/usr/bin/rsync -v -e /usr/bin/ssh xx.xxx.xxx.xxx:"; my $cmd = $Rsync . $path; print "[$cmd]\n"; system($cmd);
open(FILEHANDLER,">/var/www/Rapport/Scripts/toto.txt");
close(FILEHANDLER);
Ne sert qu'à vérifier si le cron s'execute et il s'execute bien puisque le fichier toto.txt est bien créer à chaque fois que le cron est lancé.
Est-ce que quelqu'un aurait une idée du problème?
Merci d'avance.
Partager