Ensuite, j’aurai voulu “pousser” ce fameux fichier “log_cyber$DATE” sur un FTP.
J’ai donc écrit un petit script du genre (que j’ai collé derrière l’autre) :
[code]ftp -v -n 217.xxx.xx.xx <<SCRIPT
user identifiant mdp
ascii
cd /home/replog
lcd /root/Desktop/log_squid_jour
put log_cyber$DATE
bye
SCRIPT
exit 0[/code]
Si au niveau de la commande “put”, je renseigne un nom de fichier qui va bien, le fichier monte sans prb… Mais moi ce que je voudrais, c’est que le fichier qui monte soit celui qui a le nom “log_cyber$DATE” autrement dit, que ce soit celui créé du jour même.
Et là, je vois bien que dans le FTP, il ne sait pas intégrer ma variable “$DATE” mais je ne vois pas comment contourner la chose…
j’utilise un script presque en tout point equivalent au tiens pour faire exporter un backup journalier sur un ftp distant, la seule différence c’est l’emplacement de la variable. Chez moi ça donne
[code]ftp -v -n 217.xxx.xx.xx <<SCRIPT
user identifiant mdp
ascii
cd /home/replog
lcd /root/Desktop/log_squid_jour
put $DATE.extension
bye
SCRIPT
exit 0
[/code]
et ça fonctionne parfaitement
pour info, lors de l’installation de squid, il place un fichier de conf dans le dossier logrotate.d.
logrotate s’occupe deja de faire les archives et de supprimer les vieux logs.
il suffit juste de recuperer les fichiers d’archive et de faire un cp ou un rsync pour les mettre sur un autre serveur, mais pas besoin de te creuser plus que ça.
[quote=“alexmath”]j’utilise un script presque en tout point equivalent au tiens pour faire exporter un backup journalier sur un ftp distant, la seule différence c’est l’emplacement de la variable. Chez moi ça donne
[code]ftp -v -n 217.xxx.xx.xx <<SCRIPT
user identifiant mdp
ascii
cd /home/replog
lcd /root/Desktop/log_squid_jour
put $DATE.extension
bye
SCRIPT
exit 0
[/code]
et ça fonctionne parfaitement[/quote]
Merci, il semble visiblement que j’avais oublié de mentionner l’extension “.gz” du fichier à monter sur le FTP !!!
Par contre, du coup, j’ai décidé de séparer les 2 fichiers disctinctements et de les exécuter par un cron l’un après l’autre…
Je viens de tester et maintenant, j’ai droit à un autre message dans le terminal qui fait que ma fenetre ne se ferme pas et que visiblement mon transfert de fichier n’est pas ok à 100% (le fichier est monté sur le FTP mais semble altéré).
Voici le script que j’utilise donc :
#!/bin/sh
Initialisation de la date courante sous forme de variable
DATE=date +”%y-%m-%d”
[code]ftp -v -n 217.xxx.xx.xx <<SCRIPT
user identifiant mdp
ascii
cd /home/replog
lcd /root/Desktop/log_squid_jour
put log_cyber$DATE.gz
bye
SCRIPT[/code]
Et là, j’ai le droit à ça :
Connected to 217.xxx.xx.xx.
220 Be Welcome in our FTP service.
331 Please specify the password.
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
200 ASCII tastes bad, dude.
250 Directory successfully changed.
Local directory now /root/Desktop/log_squid_jour
local: log_cyber”09-01-16”.gz remote: log_cyber”09-01-16”.gz
200 PORT command successful. Consider using PASV.
500 OOPS: vsf_sysutil_bind
Désolé pour le lag.
Il te faut utiliser le FTP en mode passif :
$ man ftp | sed -n '/^[[:space:]]*-p/{N;p;}'
-p Use passive mode for data transfers. Allows use of ftp in environ‐
ments where a firewall prevents connections from the outside world