Planifier une tache unix en php ?
                    
        
     
             
                    jerryone3
    
        
    
                    Messages postés
            
                
     
             
            58
        
            
                                    Statut
            Membre
                    
                -
                                     
jerryone3 Messages postés 58 Statut Membre -
        jerryone3 Messages postés 58 Statut Membre -
        Hello a tous :) 
Voila, je cherche à planifier l'exécution d'un script php, via... un autre script php.
Je suppose qu'il y a une commande simple en unix, à utiliser avec exec(), qui me permette de dire "a telle heure tel jour, lance ce fichier php" ou "dans 5 min, lance ce fichier php". Mais je ne suis pas parvenu à trouver laquelle
Une petite question supplémentaire, est-ce possible également de transférer des paramètres en GET de cette façon ?
Merci d'avance !
                
            
                
    
    
    
        Voila, je cherche à planifier l'exécution d'un script php, via... un autre script php.
Je suppose qu'il y a une commande simple en unix, à utiliser avec exec(), qui me permette de dire "a telle heure tel jour, lance ce fichier php" ou "dans 5 min, lance ce fichier php". Mais je ne suis pas parvenu à trouver laquelle
Une petite question supplémentaire, est-ce possible également de transférer des paramètres en GET de cette façon ?
Merci d'avance !
        A voir également:         
- Planifier une tache unix en php ?
- Easy php - Télécharger - Divers Web & Internet
- Deplacer barre de tache windows 11 - Guide
- Planifier envoi mail gmail - Guide
- Raccourci gestionnaire de tache - Guide
- Expert php pinterest - Télécharger - Langages
2 réponses
                        
                    Salut,
Si ton script est sur ton ordi (en local) et que tu utilises ubuntu:
Ensuite, tu peux écrire un cron:
Je te donne un exemple:
Ce cron exécutera ton fichier "fichier.php" situé dans " /lien/vers/ton/" tous les jours à 10h00
Si ce script n'est pas sur ton ordi, pas de problème j'ai une solution que j'utilise et qui marche très bien :)
Ce cron exécutera la page http://www.site.com/scripts/fichier.php tous les jours à 01h41.
wget permet d'enregistrer et donc d'exécuter la page
l'option --spider permet de supprimé la page directement après sa sauvegarde sur ton ordi
l'option --tries==1 permet d'exécuter la page qu'une seule fois en cas d'erreur si le chargement est trop long
Je te conseille d'approfondir tes recherches sur le cron de linux et wget :)
Cldt
    
                Si ton script est sur ton ordi (en local) et que tu utilises ubuntu:
crontab -e
Ensuite, tu peux écrire un cron:
Je te donne un exemple:
10 00 * * * php /lien/vers/ton/fichier.php
Ce cron exécutera ton fichier "fichier.php" situé dans " /lien/vers/ton/" tous les jours à 10h00
Si ce script n'est pas sur ton ordi, pas de problème j'ai une solution que j'utilise et qui marche très bien :)
41 01 * * * wget --spider --tries=1 http://www.site.com/scripts/fichier.php
Ce cron exécutera la page http://www.site.com/scripts/fichier.php tous les jours à 01h41.
wget permet d'enregistrer et donc d'exécuter la page
l'option --spider permet de supprimé la page directement après sa sauvegarde sur ton ordi
l'option --tries==1 permet d'exécuter la page qu'une seule fois en cas d'erreur si le chargement est trop long
Je te conseille d'approfondir tes recherches sur le cron de linux et wget :)
Cldt
                        
                    Salut, et merci de ta réponse !
Je connais bien le cron. Seulement, comment créer un cron en ligne de commande, sans devoir confirmer, enregistrer le fichier crontab, ou un truc comme ça ?
est-ce que deux lignes successives, de type :
exec("crontab -e");
exec("10 00 * * * php /lien/vers/ton/fichier.php");
suffiraient ?
Ca m'étonnerait que ça se passe comme ça ^^
    
                Je connais bien le cron. Seulement, comment créer un cron en ligne de commande, sans devoir confirmer, enregistrer le fichier crontab, ou un truc comme ça ?
est-ce que deux lignes successives, de type :
exec("crontab -e");
exec("10 00 * * * php /lien/vers/ton/fichier.php");
suffiraient ?
Ca m'étonnerait que ça se passe comme ça ^^
