Путь Wordpress в скрипте bash указывает на символическую ссылку? - PullRequest
0 голосов
/ 11 марта 2019

У меня есть скрипт bash на сервере Ubuntu, который используется для резервного копирования базы данных через WP-CLI и использования Dropbox Uploader для резервного копирования в Dropbox.Сценарий работал в течение многих лет на наших сайтах, которые не используют стек Roots Bedrock.Недавно мы начали использовать Bedrock Stack и Capistrano для развертываний, и теперь я хочу изменить свой сценарий для резервного копирования баз данных на этих сайтах.Похоже, проблема заключается в том, что скрипты bash не понимают символические ссылки для директивы Wordpress path.С помощью стека и сервера Bedrock общедоступным каталогом является символическая ссылка ~ / current / web.Current - это символическая ссылка, которую 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 голосов
/ 11 марта 2019

Вы можете использовать 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"

На странице man для readlink представлен ряд других параметров вывода.

...