En supposant que vos sites se trouvent dans /var/www/sitename et que le shell php est installé dans /usr/bin/php, vous pouvez facilement créer une tâche cron qui exécute tous ces fichiers.
exécuter
crontab -e
et ajoutez cette ligne
42 */12 * * * /usr/bin/php /var/www/*/somedir/index.php >> ~/cronjob.log 2>&1
Le * dans /var/www/*/somedir est un caractère générique. Cela signifie que tous les répertoires de votre dossier /var/ww seront pris en compte.
p.ex :
[jens@localhost ~]$ ls -l temp
total 28
-rw-rw-r--. 1 jens jens 1641 Feb 21 16:12 somefile.py
drwxrwxr-x. 2 jens jens 4096 Feb 22 15:10 test
drwxrwxr-x. 2 jens jens 4096 Feb 22 15:10 test2
drwxrwxr-x. 2 jens jens 4096 Feb 22 15:10 test3
drwxr-xr-x. 8 jens jens 4096 Jan 27 10:21 emptydir
-rw-rw-r--. 1 jens jens 548 Jan 27 16:15 Unsaved Document 1
[jens@localhost ~]$ ls temp/*/testfile.php
temp/test2/testfile.php temp/test3/testfile.php temp/test/testfile.php
Comme vous pouvez le voir, cela renvoie le testfile.php dans chaque sous-dossier de temp, à savoir le dossier test, test2 et test3. Emptydir est également un dossier, mais comme il ne contient pas de testfile.php, rien ne se passera avec lui.
Si votre structure de répertoire est arbitrairement profonde, vous pouvez utiliser **
par exemple 42 */12 * * * /usr/bin/php /var/www/**/index.php >> ~/cronjob.log 2>&1
0 votes
Qu'est-ce que vous ne comprenez pas : le format de
crontab
ou comment accéder/exécuter un script PHP ?0 votes
Avez-vous une liste de sites quelque part ? (à quoi doit s'étendre le '*' ?)
0 votes
Voulez-vous exécuter le script localement, ou l'appeler depuis une autre machine ? Si vous l'avez localement, vous pourriez facilement créer une seule commande. Appeler un curl ou un wget sur chaque page une par une s'avérera un peu plus difficile.
0 votes
@Tichodroma Oui je veux le format de crontab pour toutes les 12 heures. Je ne veux pas exécuter les 500+ blog script à la fois. Par exemple, donnez-moi le code pour exécuter 1AM et 1PM. Merci
0 votes
@JensTimmerman Je ne suis pas sûr de ce que vous entendez par "local". J'ai un compte d'hébergement chez namecheap. C'est là que mes fichiers sont stockés
0 votes
Soyez précis dans votre demande, qu'est-ce que vous essayez d'exécuter dans le cronjob concernant ces blogs ?
0 votes
@user1091558 donc vous n'avez pas accès à la machine, vous pouvez seulement télécharger des documents, et vous voulez exécuter un cron sur votre propre machine unix (qui n'héberge pas les sites).