Fixed script
This commit is contained in:
@@ -1,30 +1,38 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Source and destination base directories
|
||||
# Configuration
|
||||
SRC_BASE="/mnt/place-config/etc/php"
|
||||
DEST_BASE="/etc/php"
|
||||
|
||||
# Find all PHP versions in source directory
|
||||
for php_version in $(ls -d ${SRC_BASE}/*/ | grep -oP '(?<=/php/)[^/]+'); do
|
||||
src_dir="${SRC_BASE}/${php_version}/fpm/pool.d"
|
||||
dest_dir="${DEST_BASE}/${php_version}/fpm/pool.d"
|
||||
# Determine which PHP versions to process
|
||||
[ -z "${PHP_VERSIONS:-}" ] && [ -z "${BUILDTIME_PHP_VER_INST:-}" ] && exit 0
|
||||
VERSIONS_TO_PROCESS="${PHP_VERSIONS:-$BUILDTIME_PHP_VER_INST}"
|
||||
|
||||
echo "Processing PHP versions: ${VERSIONS_TO_PROCESS}"
|
||||
|
||||
for version in $VERSIONS_TO_PROCESS; do
|
||||
src_dir="${SRC_BASE}/${version}/fpm/pool.d"
|
||||
dest_dir="${DEST_BASE}/${version}/fpm/pool.d"
|
||||
|
||||
# Check if source directory exists and has .conf files
|
||||
if [ -d "$src_dir" ] && [ -n "$(ls ${src_dir}/*.conf 2>/dev/null)" ]; then
|
||||
echo "Processing PHP ${php_version}..."
|
||||
# Skip if source doesn't exist
|
||||
[ ! -d "$src_dir" ] && continue
|
||||
|
||||
# Process each .conf file
|
||||
find "$src_dir" -maxdepth 1 -name '*.conf' -print0 | while IFS= read -r -d '' conf_file; do
|
||||
filename=$(basename "$conf_file")
|
||||
echo "Copying: ${filename} (PHP ${version})"
|
||||
|
||||
# Create destination directory if it doesn't exist
|
||||
mkdir -p "$dest_dir"
|
||||
cp -f "$conf_file" "$dest_dir/"
|
||||
chmod 644 "${dest_dir}/${filename}"
|
||||
chown root:root "${dest_dir}/${filename}"
|
||||
|
||||
# Copy files with proper permissions
|
||||
cp -v "${src_dir}"/*.conf "$dest_dir"/
|
||||
chmod 644 "${dest_dir}"/*.conf
|
||||
chown root:root "${dest_dir}"/*.conf
|
||||
|
||||
echo "Copied $(ls ${src_dir}/*.conf | wc -l) .conf files for PHP ${php_version}"
|
||||
else
|
||||
echo "No .conf files found for PHP ${php_version} in ${src_dir}"
|
||||
fi
|
||||
# Verify copy
|
||||
cmp -s "$conf_file" "${dest_dir}/${filename}" || {
|
||||
echo "ERROR: Copy verification failed for ${filename}"
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
done
|
||||
|
||||
echo "Configuration copy complete."
|
||||
echo "Configuration copy completed successfully"
|
||||
|
Reference in New Issue
Block a user