42 lines
1.7 KiB
Bash
42 lines
1.7 KiB
Bash
|
|
LOG_FILE="/var/log/init-data.log"
|
||
|
|
mkdir -p /var/log
|
||
|
|
|
||
|
|
|
||
|
|
echo "env variables" | tee -a "$LOG_FILE"
|
||
|
|
env | tee -a "$LOG_FILE"
|
||
|
|
ls -lirt /var/www/public | tee -a "$LOG_FILE"
|
||
|
|
|
||
|
|
mkdir -p /var/www/{public,storage,database}
|
||
|
|
|
||
|
|
# Function to log errors and continue
|
||
|
|
log_error() {
|
||
|
|
echo "[ERROR] $1" | tee -a "$LOG_FILE"
|
||
|
|
}
|
||
|
|
|
||
|
|
# Check if public directory is empty
|
||
|
|
if [ -z "$(find /var/www/public -type f -o -type d -not -name "lost+found" -not -path "/var/www/public" 2>/dev/null)" ]; then
|
||
|
|
echo "Public directory is empty, copying data from S3..." | tee -a "$LOG_FILE"
|
||
|
|
aws s3 cp $S3_BUCKET/assets/public.tar /var/www/public/ 2>>"$LOG_FILE" || log_error "Failed to copy public data from S3"
|
||
|
|
else
|
||
|
|
echo "Public directory already has data, skipping S3 copy..." | tee -a "$LOG_FILE"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Check if storage directory is empty
|
||
|
|
if [ -z "$(find /var/www/storage -type f -o -type d -not -name "lost+found" -not -path "/var/www/storage" 2>/dev/null)" ]; then
|
||
|
|
echo "Storage directory is empty, copying data from S3..." | tee -a "$LOG_FILE"
|
||
|
|
aws s3 cp $S3_BUCKET/assets/storage.tar /var/www/storage/ 2>>"$LOG_FILE" || log_error "Failed to copy storage data from S3"
|
||
|
|
else
|
||
|
|
echo "Storage directory already has data, skipping S3 copy..." | tee -a "$LOG_FILE"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Check if database directory is empty
|
||
|
|
if [ -z "$(ls -A /var/www/database 2>/dev/null)" ]; then
|
||
|
|
echo "Database directory is empty, copying data from S3..." | tee -a "$LOG_FILE"
|
||
|
|
aws s3 cp $S3_BUCKET/assets/database.tar /var/www/database/ 2>>"$LOG_FILE" || log_error "Failed to copy database data from S3"
|
||
|
|
else
|
||
|
|
echo "Database directory already has data, skipping S3 copy..." | tee -a "$LOG_FILE"
|
||
|
|
fi
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
echo "Script completed. Check $LOG_FILE for details."
|