CRON pour récupérer un fichier sur un FTP

Fermé
arno - 29 nov. 2004 à 11:17
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 29 nov. 2004 à 13:39
bonjour,

(pour information, j'utilise Mandrake 10.0 community)

voila mon probleme :

je dois récuperer toutes les heures un fichier texte sur un FTP pour faire un update d'une bdd à l'aide d'un script PHP.
ainsi je voudrais savoir comment:

-récuperer fichierbdd.txt sur ftp://serveurdistant.fr/ avec login et password
-le placer dans /var/www/html/site.
-éxécuter /var/www/html/site/miseajour.php de façon transparente (sans que ça se voit sur le bureau par exemple) sachant qu'il est protégé par un fichier .htaccess.

je pense qu'il faut utiliser les crons, mais je n'en connais que le nom :-)
et je ne connais que les commandes UNIX de base.


merci.

1 réponse

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
29 nov. 2004 à 13:39
Salut arno,

La réponse courte est ouvre une fenêtre de terminal et consulte la documentation des commandes suivantes :
man chmod
man wget
man php
man cron
man crontab
man vi (éventuellement)

Mais, bon.. hmmmmffffffff

1.

Avec ton éditeur favori (Vi, bien sûr :P), tu crées ce fichier, que tu nommes, par exemple ftpfichierbdd.sh

#!/bin/sh

/usr/local/bin/wget ftp://monlogin:monpassword@serveurdistant.fr/fichierbdd.txt /var/www/html/site
/usr/local/bin/php -f /var/www/html/site/miseajour.php


Le chemin d'accès à wget et à php peut être différent sur ta machine. Lance un "which wget" et un "which php" pour utiliser le bon pour toi.

Tu le rends exécutable la l'utilisateur seulement
chmod 700 ftpfichierbdd.sh
et tu le place dans le répertoire de ton choix.

2.

Tu vérifies que ton script marche.

3.

Tu crées une entrée crontab sous cet utilisateur en lançant
crontab -e
et tu y places la commande suivante :
0 * * * *       /chemin/vers/ftpfichierbdd.sh
Si tu tombes sur l'éditeur de textes Vi, tu tapes "i" pour passer en mode insertion. Tape la ligne ci-avant. Tape Echap-:-wq-Entrée pour terminer l'insertion, sauvegarder et quitter.

4.

Lancer wget avec le login et mot de passe fait que quiconque liste les processus lancés sur ta machine (avec "ps") peut apercevoir ces informations. Ce n'est donc pas la méthode la plus sûre, si tu partages ta machine avec d'autres utilisateurs connectés un peu curieux.

Alternativement, tu peux placer les infos d'authentification dans un fichier ".wgetrc" à la racine du répertoire /home de ton user.


Dal
1