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