Je suis nouveau dans l'utilisation du travail cron. Je ne sais même pas comment l'écrire. J'ai essayé de rechercher sur Internet, mais je ne comprends toujours pas bien. Je veux créer un travail cron qui exécutera mon code toutes les minutes. J'utilise PHP pour le créer. Ça ne marche pas.
Exemple
run.php (Code qui sera exécuté toutes les minutes)
<?php
echo "This code will run every minute";
?>
cron.php
<?php
$path = dirname(__FILE__);
$cron = $path . "/run.php";
echo exec("***** php -q ".$cron." &> /dev/null");
?>
Supposons que ces deux fichiers se trouvent dans le même dossier.
Le code que j'ai fait est-il erroné? En cas de problème, veuillez me dire comment le réparer.
crontab
Réponses:
C'est la meilleure explication avec le code en PHP que j'ai trouvée jusqu'à présent:
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428
En bref:
Bien que la syntaxe de la planification d'un nouveau travail puisse sembler décourageante à première vue, elle est en fait relativement simple à comprendre une fois que vous la décomposez. Une tâche cron aura toujours cinq colonnes dont chacune représente un 'opérateur' chronologique suivi du chemin complet et de la commande à exécuter:
* * * * * home / chemin / vers / commande / the_command.sh
Chacune des colonnes chronologiques a une pertinence spécifique par rapport au calendrier de la tâche. Ils sont les suivants:
Ainsi, par exemple, si l'on voulait planifier une tâche à 12h le premier jour de chaque mois, cela ressemblerait à ceci:
0 0 1 * * home / chemin / vers / commande / the_command.sh
Si nous voulions planifier une tâche à exécuter tous les samedis à 8h30, nous l'écririons comme suit:
30 8 * * 6 home / chemin / vers / commande / the_command.sh
Il existe également un certain nombre d'opérateurs qui peuvent être utilisés pour personnaliser encore plus le calendrier:
Visitez le lien pour l'article complet, il explique:
la source
De la même manière que vous essayez d'exécuter cron.php, vous pouvez exécuter un autre script PHP. Vous devrez cependant le faire via l'interface CLI.
Ensuite, ajoutez une entrée à la crontab:
Si le script run.php avait des autorisations exécutables, il pourrait être répertorié directement dans le crontab, sans la partie / usr / bin / php également. La partie 'env php', dans le script, trouverait le programme approprié pour exécuter réellement le code PHP. Donc, pour la version 'exécutable' - ajoutez l'autorisation exécutable au fichier:
puis, ajoutez l'entrée suivante dans crontab:
la source
Ajouté à Alister, vous pouvez généralement éditer la crontab (pas toujours le cas) en entrant crontab -e dans une session ssh sur le serveur.
Les étoiles représentent (* signifie chacune de ces unités):
Vous pouvez en savoir plus ici .
la source
Tapez ce qui suit dans le terminal linux / ubuntu
sélectionnez un éditeur (parfois il demande l'éditeur) et celui-ci s'exécute toutes les minutes
la source
Cela peut dépendre de votre hébergeur si vous n'hébergez pas votre propre contenu. Si votre hébergeur prend en charge la création de tâches chronologiques, il peut avoir un formulaire à remplir qui vous permet de sélectionner la fréquence et de saisir le chemin absolu du fichier à exécuter. Par exemple, mon hébergeur (DreamHost) me permet de créer des tâches cron personnalisées en tapant le chemin absolu du fichier et en sélectionnant la fréquence dans un menu de sélection. Cela peut ne pas être possible pour votre serveur, auquel cas vous devez éditer la crontab directement ou via la méthode spécifique à votre hôte.
Comme le détaille Alister Bulman ci-dessus, créez un fichier PHP à exécuter en utilisant CLI (en veillant à inclure
#!/usr/bin/env php
au tout début du fichier avant la<?php
balise. Cela garantit que le shell sait quel exécutable doit être appelé lors de l'exécution du script.la source
pourquoi n'utilisez-vous pas curl? logiquement, si vous exécutez un fichier php, vous l'exécuterez par url sur votre navigateur. c'est très simple si vous exécutez curl
la source
la source
Ouvrez d'abord votre serveur SSH avec nom d'utilisateur et mot de passe et passez à l'utilisateur root par défaut (utilisateur avec toutes les autorisations), puis suivez les étapes ci-dessous,
crontab -l
maintenant, vous verrez la liste de tous les cronjobs.crontab -e
un fichier avec tous les travaux cron seront ouverts.min hr dayofmonth month dayofweek pathtocronjobfile
et enregistrez le fichier.crontab: installing new crontab
, vérifiez à nouveau la liste des tâches cron que votre tâche cron y sera répertoriée.la source
Mieux vaut utiliser le projet Cron en combinaison avec le cronjob Linux pour cette tâche. Il vous permet de configurer les temps d'exécution dans votre code PHP, prend en charge les tâches en arrière-plan et est facile à utiliser.
Première étape, appelez un script PHP toutes les minutes:
Deuxième étape, utilisez le package cron / cron pour configurer les temps d'exécution directement en PHP.
Vous avez trouvé les détails de l'utilisation dans le référentiel lié.
la source
Créez un cronjob comme celui-ci pour travailler à chaque minute
la source
Il y a un moyen simple de résoudre ceci: vous pouvez exécuter le fichier php par cron toutes les 1 minute, et à l'intérieur du fichier exécutable php, faites une instruction "if" à exécuter quand le temps "maintenant" comme ceci
la source
la source