我在Ubuntu服务器上有一个bash脚本,该脚本用于通过WP-CLI进行数据库备份,并使用Dropbox Uploader备份到Dropbox。该脚本已经在不使用Roots Bedrock堆栈的网站上使用了多年。我们最近开始使用Bedrock Stack和Capistrano进行部署,现在我想修改脚本以备份这些站点上的数据库。问题在于它的出现,bash脚本不了解Wordpress path指令的符号链接。使用Bedrock Stack和服务器设置,公用目录是〜/ current / web的符号链接。当前是Capistrano更新以指向当前修订目录的符号链接。有人知道如何修改我的脚本以使用符号链接吗?这是脚本:
#!/bin/bash
# Script to create compressed backup archive of database.
# Set the date format, name, and directory for backups.
NOW=$(date +"%Y%m%d-%H%M")
BACKUP_DIR="/srv/users/serverpilot/apps/backup/public/site"
WP_PATH="/srv/users/serverpilot/apps/site/public"
# MySQL database names
DB_NAME="site_staging"
DB_FILE="site_staging_db_$NOW.sql"
DB_FILEGZ="site_staging_db_$NOW.sql.gz"
# Create the archive and the MySQL dump
wp db export --add-drop-table --path=$WP_PATH $BACKUP_DIR/$DB_FILE
gzip $BACKUP_DIR/$DB_FILE
bash /srv/users/serverpilot/./dropbox_uploader.sh upload $BACKUP_DIR/$DB_FILEGZ /site/
答案 0 :(得分:0)
您可以使用readlink
来解析符号链接,因此您可以执行以下操作:
#!/bin/bash
# The symlinked directory you need to back up
symlink_dir="/srv/users/serverpilot/apps/site/public"
# Set $BACKUP_DIR as the resolved symlink
BACKUP_DIR=$(readlink -f "$symlink_dir")
# Use the absolute path in your backup script
echo "$BACKUP_DIR"
readlink的手册页概述了其他一系列输出选项。