web-dev-qa-db-fra.com

WP CLI - Mise à jour des plugins, des thèmes et du cœur, le tout sur une ligne, au lieu de 3 lignes?

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
3
Arcticooling

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
5
Tom J Nowell

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).

1
Pat J