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