Existe-t-il un moyen de mettre à jour les plugins, les thèmes et le noyau, tous sur une ligne, au lieu de 3, en WPCLI?
C’est le code actuel que j’utilise dans la crontab
et que j’aimerais améliorer:
0 0 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp plugin update --all --allow-root; done
0 0 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp core update --allow-root; done
0 0 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp theme update --all --allow-root; done
Exécutez un script à la place:
0 0 * * * for dir in /var/www/html/*/; do cd "$dir" && ./updatewp.sh; done
Dans updatewp.sh
:
wp core update --all --allow-root
wp plugin update --all --allow-root
wp theme update --all --allow-root
Je ferais quelque chose comme ça:
0 0 * * * for dir in /var/www/html/*/; do cd "$dir" && \
( \
/usr/local/bin/wp core update --allow-root && \
/usr/local/bin/wp plugin update --all --allow-root && \
/usr/local/bin/wp theme update --all --allow-root \
); \
done
\
utilisé pour rompre les lignes pour plus de lisibilité; cela devrait probablement être une seule ligne dans votre crontab, comme ceci:
0 0 * * * for dir in /var/www/html/*/; do cd "$dir" && ( /usr/local/bin/wp core update --allow-root && /usr/local/bin/wp plugin update --all --allow-root && /usr/local/bin/wp theme update --all --allow-root ); done
Je n'ai pas testé cela. Cependant, je le fais régulièrement à partir de la ligne de commande (c.-à-d. Pas dans crontab).