-
-
Save johanoloflindberg/a033c218957f24f7e267 to your computer and use it in GitHub Desktop.
WP-CLI snippets and scripts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Only database backup | |
declare -a SITES=('site1' 'site2' 'site3' 'site4'); | |
SITES_PATH_BASE=/var/www/ | |
SITES_PATH_SUFIX=/repo/public | |
SITES_BACKUP_FOLDER=backups | |
CURRENT_DATE=`date +%Y-%m-%d`; | |
for SITE in ${SITES[@]} | |
do | |
echo ""; | |
echo "Taking backup of ${SITE}..." | |
BACKUP_FOLDER=${SITES_PATH_BASE}${SITE}/${SITES_BACKUP_FOLDER}; | |
# Create backup folder if it does not exist | |
if [ ! -d $BACKUP_FOLDER ]; then | |
echo "Creating folder ${BACKUP_FOLDER}"; | |
mkdir -p $BACKUP_FOLDER; | |
fi | |
BACKUP_FILENAME=${BACKUP_FOLDER}/db_backup-${CURRENT_DATE}.sql; | |
# Export db and save the backup relative to the public dir | |
wp db export ${BACKUP_FILENAME} --path=${SITES_PATH_BASE}${SITE}${SITES_PATH_SUFIX} --allow-root; | |
done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Backups files and databases + updating WordPress and plugins with extra paramter ( "./wp-maintenance.sh update" ) | |
declare -a SITES=('site1' 'site2' 'site3' 'site4'); | |
SITES_PATH_BASE=/var/www/ | |
SITES_PATH_SUFIX=/repo/public | |
SITES_BACKUP_FOLDER=backups | |
CURRENT_DATE=`date +%Y-%m-%d`; | |
PARAM1=$1; | |
for SITE in ${SITES[@]} | |
do | |
SITE_PUBLIC_DIR=${SITES_PATH_BASE}${SITE}${SITES_PATH_SUFIX} | |
echo ""; | |
echo "Taking backup of ${SITE}..." | |
BACKUP_FOLDER=${SITES_PATH_BASE}${SITE}/${SITES_BACKUP_FOLDER}; | |
# Create backup folder if it does not exist | |
if [ ! -d $BACKUP_FOLDER ]; then | |
echo "Creating folder ${BACKUP_FOLDER}"; | |
mkdir -p $BACKUP_FOLDER; | |
fi | |
echo "Backing up the database..." | |
SQL_BACKUP_FILENAME=${BACKUP_FOLDER}/${SITE}_db_backup-${CURRENT_DATE}.sql; | |
# Export db and save the backup relative to the public dir | |
wp db export ${SQL_BACKUP_FILENAME} --path=${SITE_PUBLIC_DIR} --allow-root; | |
echo "Backing up the files..." | |
FILE_BACKUP_FILENAME=${BACKUP_FOLDER}/${SITE}_file_backup-${CURRENT_DATE}.tar.gz; | |
tar -czpf ${FILE_BACKUP_FILENAME} -C ${SITE_PUBLIC_DIR} .; | |
echo "Files backup saved to ${FILE_BACKUP_FILENAME}"; | |
echo "Backup completed"; | |
if [ "${PARAM1}" == "update" ]; then | |
echo "Updating WordPress..."; | |
wp core update --path=${SITE_PUBLIC_DIR} --allow-root; | |
echo "Updating plugins..."; | |
wp plugin update --all --path=${SITE_PUBLIC_DIR} --allow-root; | |
fi | |
echo "Done"; | |
echo ""; | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment