Bila anda mengelola banyak situs WordPress pasti kadang kesulitan untuk update core WordPress, plugin ataupun thema. Untuk memudahkan tugas kita sebagai system administrator, bisa menggunakan bantuan WP-CLI. Dengan WP-CLI kita bisa membuat script dari server untuk melaksanakan tugas-tugas tersebut.

Kebutuhan

– server menggunakan Linux
– memiliki akses root (bisa juga tanpa root, tapi ubah letak WPCLI di script)

Script Auto Update WordPress

Kita akan meletakkan scriptnya di folder /home/src/script/auto-update-wordpress.sh, buat folder tempat penyimpanannya terlebih dahulu

mkdir -p /home/src/script

lalu buat file auto-update-wordpress.sh yang berisi

#!/usr/bin/env bash
# Script auto update WordPress, thema ras plugin na.
 
WPCLI='/usr/local/bin/wp'
FOLDERWWW='/var/www/'
 
if [ ! -f $WPCLI ]; then
    echo "---------------------------"
    echo "Download & Install WPCLI ... "
    wget -q https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
    chmod +x /usr/local/bin/wp
    echo "Install WPCLI selesai!"
    echo "---------------------------"
fi
 
cd $FOLDERWWW
 
for a in `ls -d */`
    do
        cd "$a"
        if [[ -d "wp-admin" ]]; then
            wp core update;
            wp plugin update --all;
            wp theme update --all
        fi
        cd - &>/dev/null
done

yang perlu diubah dari script diatas adalah letak folder root wordpress anda (/var/www), disini saya menggunakan /var/www, di /var/www saya meletakkan semua situs wordpress yang saya kelola per folder, contohnya

/var/www/
├── artikel.jaranguda.com
├── blog.jaranguda.com
└── jaranguda.com

3 directories, 0 files

ubah file permissionnya agar bisa di jalankan

chmod +x /home/src/script/auto-update-wordpress.sh

Gunakan Crontab

Agar proses update ini dijalankan otomatis, gunakan bantuan crontab. Disini script auto update core wordpress, themes dan plugin dijalankan setiap jam 1 subuh.

Buat entry crontab baru

crontab -e

lalu masukkan code dibawah ini

0 1 * * * /home/src/script/auto-update-wordpress.sh

Leave a comment

Your email address will not be published. Required fields are marked *