bash脚本中的WordPress路径指向symlink吗?

时间:2019-03-11 18:06:26

标签: wordpress bash symlink wp-cli

我在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/

1 个答案:

答案 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的手册页概述了其他一系列输出选项。