Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # wp-run-cron.sh: run wordpress cron 24022019 nawawi
- _BASEPATH="/opt/wp-operation";
- _SRCPATH="/home/website/wordpress";
- _RDATE="$(date +"%Y-%m-%d %H:%M:%S")";
- _LOCKFILE="${_BASEPATH}/wp-run-cron-sh.lock";
- _WPCLI="${_BASEPATH}/wp-cli.phar";
- if [ ! -d $_BASEPATH ]; then
- echo "$_BASEPATH not exist";
- exit 1;
- fi
- if ! cd $_BASEPATH &>/dev/null; then
- echo "Cannot change to directory to $_BASEPATH";
- exit 1;
- fi
- if [ ! -x "${_WPCLI}" ]; then
- echo "wp-cli.phar binary not found";
- exit 1;
- fi
- _WPCLI="${_WPCLI} --allow-root";
- if [ -f "${_LOCKFILE}" ]; then
- echo "process run";
- exit 1;
- fi
- trap "{ rm -f $_LOCKFILE; exit 1; }" SIGINT SIGTERM SIGHUP SIGKILL SIGABRT EXIT;
- touch $_LOCKFILE;
- for _CONF in $_SRCPATH/*/wp-config.php; do
- [ ! -f $_CONF ] && continue;
- # check database exist
- _DBNAME="$(grep DB_NAME ${_CONF} | sed -e "s/.*,\s'\(.*\)');/\1/")";
- _DBUSER="$(grep DB_USER ${_CONF} | sed -e "s/.*,\s'\(.*\)');/\1/")";
- _DBPASS="$(grep DB_PASSWORD ${_CONF} | sed -e "s/.*,\s'\(.*\)');/\1/")";
- [ "x${_DBNAME}" = "x" ] && continue;
- [ "x${_DBUSER}" = "x" ] && continue;
- [ "x${_DBPASS}" = "x" ] && continue;
- _BF="$(dirname $_CONF)";
- echo "# EXECUTE: ${_BF}";
- $_WPCLI --path=$_BF cron event run --all;
- done
- echo $_RDATE > $_BASEPATH/last-wp-run-cron-sh.txt;
- rm -f $_LOCKFILE;
- exit 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement