Ftp python

Le
bmil
bonjour ,

Un script python ftp.py est actif en mode console .
Dans un crontab la commande n'exécute pas le script .
Quel dépendance un cron ne peut pas interpréter avec py ?

def go_ftp():
ftp = ftplib.FTP("**********")
ftp.login("************")
ftp.cwd('*************')
fichier = read_date()
# print "fic : "+fichier
file = open(fichier, 'rb') # ici, j'ouvre le fichier
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à
envoyer
ftp.quit()
file.close()
print "Transfert fichier "
print "Terminé"

print(go_ftp())
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Laurent Pointal
Le #26103662
bmil wrote:

bonjour ,

Un script python ftp.py est actif en mode console .
Dans un crontab la commande n'exécute pas le script .
Quel dépendance un cron ne peut pas interpréter avec py ?

def go_ftp():
ftp = ftplib.FTP("**********")
ftp.login("************")
ftp.cwd('*************')
fichier = read_date()
# print "fic : "+fichier
file = open(fichier, 'rb') # ici, j'ouvre le fichier
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à
envoyer
ftp.quit()
file.close()
print "Transfert fichier ..."
print "Terminé"

print(go_ftp())



Essaie de faire un bête script shell lancé par cron, qui t'enregistre dans
un fichier le contenu de $PATH et consort.

Genre set > /tmp/environnement.txt

Histoire de voir déjà si Python est accessible dans cet environnement.

--
Laurent POINTAL -
bmil
Le #26103812
Le 27/04/2014 12:47, Laurent Pointal a écrit :
bmil wrote:

bonjour ,

Un script python ftp.py est actif en mode console .
Dans un crontab la commande n'exécute pas le script .
Quel dépendance un cron ne peut pas interpréter avec py ?

def go_ftp():
ftp = ftplib.FTP("**********")
ftp.login("************")
ftp.cwd('*************')
fichier = read_date()
# print "fic : "+fichier
file = open(fichier, 'rb') # ici, j'ouvre le fichier
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à
envoyer
ftp.quit()
file.close()
print "Transfert fichier ..."
print "Terminé"

print(go_ftp())



Essaie de faire un bête script shell lancé par cron, qui t'enregistre dans
un fichier le contenu de $PATH et consort.

Genre set > /tmp/environnement.txt

Histoire de voir déjà si Python est accessible dans cet environnement.


-----------------------------------------------------------------------------
OK - J'ai fais pas mal de manip et un post non résolu est ici :

http://www.developpez.net/forums/d1435216/autres-langages/python-zope/script-python-ftp-crontab/
Laurent Pointal
Le #26103852
bmil wrote:

<zip>
-----------------------------------------------------------------------------
OK - J'ai fais pas mal de manip et un post non résolu est ici :

http://www.developpez.net/forums/d1435216/autres-langages/python


zope/script-python-ftp-crontab/

Désolé, je n'ai pas de compte developpez.

Essaie de mettre le chemin complet vers Python au niveau de la crontab.

Et comme indiqué par une personne (et conseillé dans la doc ubuntu par
exemple), avoir un système d'envoi d'emails minimum permet de récupérer les
indications d'erreur de cron.

http://doc.ubuntu-fr.org/cron
=> NOTA IMPORTANT: Dans le cas où votre crontab refuserait de s'exécuter,
vérifiez que vous disposez bien du package mailutils. En effet, cron logue
ses actions en envoyant un mail à l'utilisateur courant.



--
Laurent POINTAL -
bmil
Le #26103922
Le 27/04/2014 15:35, Laurent Pointal a écrit :
bmil wrote:

<zip>
-----------------------------------------------------------------------------
OK - J'ai fais pas mal de manip et un post non résolu est ici :

http://www.developpez.net/forums/d1435216/autres-langages/python


zope/script-python-ftp-crontab/

Désolé, je n'ai pas de compte developpez.

Essaie de mettre le chemin complet vers Python au niveau de la crontab.

Et comme indiqué par une personne (et conseillé dans la doc ubuntu par
exemple), avoir un système d'envoi d'emails minimum permet de récupérer les
indications d'erreur de cron.

http://doc.ubuntu-fr.org/cron
=> NOTA IMPORTANT: Dans le cas où votre crontab refuserait de s'exécuter,
vérifiez que vous disposez bien du package mailutils. En effet, cron logue
ses actions en envoyant un mail à l'utilisateur courant.


-----------------------------------------------------------------
#! /usr/bin/python
# -*- coding: utf-8 -*-

import ftplib

ftp = ftplib.FTP("*********")
ftp.login("************")

ftp.cwd('**********')
ftp.retrlines('LIST')

###### c'est la déclaration en local du fichier qui bloque
le package mailutils renvoi en log ceci :
Traceback (most recent call last):
file = open(fichier, 'rb') # ici, j'ouvre le fichier ftp.py
IOError: [Errno 2] No such file or directory: 'qcm.pdf'
###########################

fichier = "qcm.pdf"
file = open(fichier, 'rb') # ici, j'ouvre le fichier ftp.py
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à envoyer

--------------------------------
Le mode console lit bien >> fichier = "qcm.pdf"
Le mode cron ne prend pas en compte cette déclaration
Th.A.C
Le #26104062
Le 27/04/2014 16:14, bmil a écrit :
...
IOError: [Errno 2] No such file or directory: 'qcm.pdf'
###########################

fichier = "qcm.pdf"
file = open(fichier, 'rb') # ici, j'ouvre le fichier ftp.py
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à envoyer

--------------------------------
Le mode console lit bien >> fichier = "qcm.pdf"
Le mode cron ne prend pas en compte cette déclaration



tu n'es pas dans le bon dossier quand c'est la tache cron qui s'exécute?
bmil
Le #26104052
Le 27/04/2014 18:06, Th.A.C a écrit :
Le 27/04/2014 16:14, bmil a écrit :
...
IOError: [Errno 2] No such file or directory: 'qcm.pdf'
###########################

fichier = "qcm.pdf"
file = open(fichier, 'rb') # ici, j'ouvre le fichier ftp.py
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à envoyer

--------------------------------
Le mode console lit bien >> fichier = "qcm.pdf"
Le mode cron ne prend pas en compte cette déclaration



tu n'es pas dans le bon dossier quand c'est la tache cron qui s'exécute?



-------------------------------------------------------------------------

Ce que veut python n'est pas clair - Avec un cron sur php , la data
passent par ftp dans les 2 sens ..
Laurent Pointal
Le #26104392
bmil wrote:

Le 27/04/2014 18:06, Th.A.C a écrit :
Le 27/04/2014 16:14, bmil a écrit :
...
IOError: [Errno 2] No such file or directory: 'qcm.pdf'
###########################

fichier = "qcm.pdf"
file = open(fichier, 'rb') # ici, j'ouvre le fichier ftp.py
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à envoyer

--------------------------------
Le mode console lit bien >> fichier = "qcm.pdf"
Le mode cron ne prend pas en compte cette déclaration



tu n'es pas dans le bon dossier quand c'est la tache cron qui s'exécute?



-------------------------------------------------------------------------

Ce que veut python n'est pas clair - Avec un cron sur php , la data
passent par ftp dans les 2 sens ..



Fais un test en mettant le chemin complet à l'ouverture du fichier:

file = open(os.path.join(repertoire, fichier), 'rb)

Note: pour connaître le répertoire courant: os.getcwd()

--
Laurent POINTAL -
bmil
Le #26104532
On 27/04/2014 19:48, Laurent Pointal wrote:
bmil wrote:

Le 27/04/2014 18:06, Th.A.C a écrit :
Le 27/04/2014 16:14, bmil a écrit :
...
IOError: [Errno 2] No such file or directory: 'qcm.pdf'
###########################

fichier = "qcm.pdf"
file = open(fichier, 'rb') # ici, j'ouvre le fichier ftp.py
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à envoyer

--------------------------------
Le mode console lit bien >> fichier = "qcm.pdf"
Le mode cron ne prend pas en compte cette déclaration



tu n'es pas dans le bon dossier quand c'est la tache cron qui s'exécute?



-------------------------------------------------------------------------

Ce que veut python n'est pas clair - Avec un cron sur php , la data
passent par ftp dans les 2 sens ..



Fais un test en mettant le chemin complet à l'ouverture du fichier:

file = open(os.path.join(repertoire, fichier), 'rb)

Note: pour connaître le répertoire courant: os.getcwd()


----------------------------------------------------------------------------

ok - mon appli fonctionnement avec php - je ferai quelques essais sur py
et son cron . Le problème des scripts py plus courts c'est pour gagner
en rapidité mais au niveau développement le temps perdu sur une ligne
qui foire ne se rattrape pas .
bmil
Le #26105092
Le 27/04/2014 20:38, bmil a écrit :
On 27/04/2014 19:48, Laurent Pointal wrote:
bmil wrote:

Le 27/04/2014 18:06, Th.A.C a écrit :
Le 27/04/2014 16:14, bmil a écrit :
...
IOError: [Errno 2] No such file or directory: 'qcm.pdf'
###########################

fichier = "qcm.pdf"
file = open(fichier, 'rb') # ici, j'ouvre le fichier ftp.py
ftp.storbinary('STOR '+fichier, file) # j'indique le fichier à
envoyer

--------------------------------
Le mode console lit bien >> fichier = "qcm.pdf"
Le mode cron ne prend pas en compte cette déclaration



tu n'es pas dans le bon dossier quand c'est la tache cron qui
s'exécute?



-------------------------------------------------------------------------


Ce que veut python n'est pas clair - Avec un cron sur php , la data
passent par ftp dans les 2 sens ..



Fais un test en mettant le chemin complet à l'ouverture du fichier:

file = open(os.path.join(repertoire, fichier), 'rb)

Note: pour connaître le répertoire courant: os.getcwd()


----------------------------------------------------------------------------


ok - mon appli fonctionnement avec php - je ferai quelques essais sur py
et son cron . Le problème des scripts py plus courts c'est pour gagner
en rapidité mais au niveau développement le temps perdu sur une ligne
qui foire ne se rattrape pas .


----------------------------------------------

La synthax >> file = open(os.path.join(repertoire, fichier), 'rb)
est en error en mode shell python

C'est le cron qui commande en partie ftp_1.py et qui ne veut pas ouvrir
file .
Avec repertoire = os.getcwd() , le cron affiche l'erreur de synthax du shell
Doug713705
Le #26105382
Le 28-04-2014, bmil nous expliquait dans
fr.comp.lang.python
(
La synthax >> file = open(os.path.join(repertoire, fichier), 'rb)
est en error en mode shell python



Il manque la simple quote de fermeture de rb:
file = open(os.path.join(repertoire, fichier), 'rb')

--
Oh mais laisse allumé bébé, y'a personne au contrôle
Et les dieux du radar sont tous out
Et toussent et se touchent et se poussent
Et se foutent et se broutent
-- H.F. Thiéfaine, Mathématiques souterraines
Publicité
Poster une réponse
Anonyme