Ho scritto uno semplicissimo script per aggiornare un pò di siti wordpress che ho senza dover accedere ogni santo giorno alla pagina di amministrazione.
Sfrutto sia wp-cli (un binario in grado di svolgere da riga di comando innumerevoli funzioni di amministrazione su siti wordpress) e crontab.
Installare wp-cli è semplicissimo e vi basterà seguire le istruzioni di installazione reperibili al seguente link : wp-cli installing
A questo punto ecco il formato dello script vero e proprio:
#!/bin/bash
# file name update_wp_sites
# find directory owner: stat -c '%U' /var/www/${domain_name}/web
DOMAINS=`find /var/www -maxdepth 1 -type l | cut -d / -f4`
echo $DOMAINS
for domain in $DOMAINS
if [ -f /var/www/${domain}/web/wp-config.php]; then
do
USER=`stat -c '%U' /var/www/${domain}/web`
echo ${domain}
cd /var/www/${domain}/web
sudo -u $USER -- wp --path=/var/www/${domain}/web core update
sudo -u $USER -- wp --path=/var/www/${domain}/web core update-db --network
sudo -u $USER -- wp --path=/var/www/${domain}/web plugin update --all
sudo -u $USER -- wp --path=/var/www/${domain}/web theme update --all
done
fi
Molti avranno notato che lavora bene con Ispconfig.
A questo punto ci basterà richiamare con crontab il file a cadenza giornaliera alle 2 del mattino
0 2 * * * /usr/local/sbin/update_wp_sites > /dev/null 2>&1

