Transfert fichiers automatique serveur FTP [RESOLU] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 04-12-2007 à 16:01:46
Tu peux faire précéder ton transfert par un test qui vérifie si ton réseau est up ou non.
T'envoie les fichiers si c'est up et tu lances la connexion dans le cas contraire.
Et tu pouvoir aussi programmer un truc si la connection te lache en plein cron.
Genre tu détectes un arrêt de transfert sans le signal machin, tu lances la détection de connexion et si ça foire, tu lance et tu reprends.
Marsh Posté le 05-12-2007 à 11:34:45
Le serveur ne gère pas la connexion internet donc on peut pas faire comme ca
Pour la deuxième idée pourquoi pas, mais je ne vois pas du tout comment faire et c'etait en gros ma question
Marsh Posté le 05-12-2007 à 12:00:34
Y a pas besoin de "gérer" la connexion pour vérifier que la connectivité est ok. Un ping sur un serveur sur internet (par exemple google, ou les dns de ton FAI). Ca suffit !
Marsh Posté le 05-12-2007 à 12:02:10
Pour la deuxieme idée pourquoi ne pas faire fichier "lock" que tu crées via un touch en début de ton script et que tu enleves à la fin une fois que tout est fini.
Au début (juste avant de créer) le fichier tu testes si ce fichier existe, si non => tu lances tout ce que tu as à faire, si oui, ben tu passes en mode continuer le précédent ou ce que tu veux.
Marsh Posté le 05-12-2007 à 13:40:06
Je fonctionne déjà avec un fichier "lock"
Le cron se lance toutes les 5min, si le fichier existe il ne fait rien, sinon il lance le script de transfert
Donc si le fichier existe je n'ai pas vraiment de moyen de savoir s'il existe car le script est en transfert ou s'il existe depuis 3 jours car la connexion avait planté en cours de transfert
Pour le test de connexion ca va résoudre les cas de plantage en cas de défaut de connexion au début (et encore je suis pas sur que ca plante la) mais en cas de plantage au milieu d'un transfere ca ne résoudra rien
Marsh Posté le 05-12-2007 à 16:31:34
Met le PID du process dans le fichier de lock. Au début de ton script, là où tu testes le fichier de lock, vérifie en plus que le process dont le PID est dans le fichier de lock tourne effectivement. Si ce n'est pas le cas, tu effaces le fichier de lock.
Marsh Posté le 06-12-2007 à 01:15:36
pour ce genre d'operation, lftp me sembles bien adapté ( transfert et resume )
Marsh Posté le 06-12-2007 à 08:45:35
bonne idée matafan, mais le pid reste dans "ps aux" meme quand il plante car aujourd'hui je dois faire un kill dessus quand ca plante pour le relancer
quand il apparait avec "ps aux" il tourne forcément ou il y a une colonne genre "etat du process" que l'on peut regarder ?
je vais jeter un oeil à lftp
Marsh Posté le 06-12-2007 à 09:10:25
mon script ressemble maintenant à ca :
Code :
|
sputnick, est ce que tu connais l'option -c de mirror
dois je l'utiliser ? (je n'ai pas très bien compris ce qu'elle faisait)
on va déjà voir ce que ca donne
Marsh Posté le 07-12-2007 à 00:39:01
Non je ne connais pas cette option.
Si ça peux te servir, voici mon script de backup via lftp, avec fonction pour effacer les archives de plus de 15 jours.
http://stardust.3.free.fr/guest/b4z44r/back-lftp.sh
Marsh Posté le 10-12-2007 à 15:40:12
pas de plantage depuis une semaine pratiquement
je considere que c'est résolu
merci à tous
Marsh Posté le 04-12-2007 à 15:56:07
Bonjour,
Je vous explique le problème et ma solution actuelle qui n'est pas parfaite loin de la
J'ai un serveur FTP sur lesquels sont déposés des fichiers par les utilisateurs du réseau local de ce serveur
J'ai un serveur distant qui doit récupérer les fichiers sur ce serveur FTP en permanence et faire des opérations avec (peu importe lesquelles)
Aujourd'hui j'ai
1) Un cron qui tourne toutes les 5 min et qui lance le transfert si le script de transfert de tourne pas
2) Le script de transfert ci dessous :
Mon probleme c'est que quand la connexion internet plante pendant un transfert, le script se bloque et ne se relance jamais
Evidemment à la premier étape, pour lui le script tourne, donc il ne le relance pas
Connaissez vous une solution, si possible qui touche le moins possible à l'existant
J'ai fait des tests sans succès avec ncftp
Merci d'avance
Message édité par gnafron03 le 10-12-2007 à 15:40:31