upload files
This commit is contained in:
parent
88a98a9a3d
commit
0b36a9a696
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash
|
||||
|
||||
#add more paths for different foundry instances
|
||||
instances=(
|
||||
"/home/ubuntu/foundryuserdata-joseph|foundry-joseph"
|
||||
)
|
||||
|
||||
BACKUP_ROOT="/home/ubuntu/backups"
|
||||
RCLONE_REMOTE="googledrive:FoundryBackups"
|
||||
RETENTION_DAYS_LOCAL=7
|
||||
RETENTION_DAYS_REMOTE=30
|
||||
|
||||
DATE=$(date +%Y-%m-%d_%H%M)
|
||||
|
||||
for ENTRY in "${instances[@]}"; do
|
||||
|
||||
SOURCE_DIR="${ENTRY%%|*}"
|
||||
PM2_NAME="${ENTRY##*|}"
|
||||
|
||||
FOLDER_NAME=$(basename "$SOURCE_DIR")
|
||||
BACKUP_DIR="$BACKUP_ROOT/$FOLDER_NAME"
|
||||
FILENAME="$FOLDER_NAME-backup-$DATE.tar.gz"
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
echo "Processing: $PM2_NAME (Folder: $FOLDER_NAME)"
|
||||
|
||||
echo "Stopping PM2 process: $PM2_NAME..."
|
||||
pm2 stop "$PM2_NAME"
|
||||
|
||||
echo "Zipping files..."
|
||||
tar -czf "$BACKUP_DIR/$FILENAME" -C "$SOURCE_DIR" .
|
||||
TAR_EXIT_CODE=$?
|
||||
|
||||
echo "Restarting PM2 process: $PM2_NAME..."
|
||||
pm2 start "$PM2_NAME"
|
||||
|
||||
if [ $TAR_EXIT_CODE -eq 0 ]; then
|
||||
echo "Local backup successful: $FILENAME"
|
||||
|
||||
echo "Uploading to Google Drive..."
|
||||
rclone copy "$BACKUP_DIR/$FILENAME" "$RCLONE_REMOTE/$FOLDER_NAME" --transfers=4 --checkers=8
|
||||
|
||||
echo "Cleaning remote old files..."
|
||||
rclone delete "$RCLONE_REMOTE/$FOLDER_NAME" --min-age ${RETENTION_DAYS_REMOTE}d
|
||||
else
|
||||
echo "BACKUP FAILED for $FOLDER_NAME "
|
||||
fi
|
||||
|
||||
echo "Cleaning local old files..."
|
||||
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +$RETENTION_DAYS_LOCAL -delete
|
||||
|
||||
done
|
||||
|
||||
echo "All backup tasks completed."
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
|
||||
PROJECT_DIR="/home/ubuntu/foundryuserdata-joseph"
|
||||
PM2_PROCESS_NAME="foundry-joseph"
|
||||
DATE=$(date '+%Y-%m-%d %H:%M')
|
||||
|
||||
echo "Starting Git Commit for: $PM2_PROCESS_NAME"
|
||||
|
||||
echo "Stopping Foundry..."
|
||||
pm2 stop "$PM2_PROCESS_NAME"
|
||||
|
||||
cd "$PROJECT_DIR" || { echo "Directory not found! Exiting."; exit 1; }
|
||||
|
||||
echo "Adding files..."
|
||||
git add .
|
||||
|
||||
echo "Committing..."
|
||||
git commit -m "Snapshot: $DATE"
|
||||
|
||||
echo "Pushing to Remote..."
|
||||
git push origin main
|
||||
|
||||
echo "Restarting Foundry..."
|
||||
pm2 start "$PM2_PROCESS_NAME"
|
||||
|
||||
echo "Done!"
|
||||
Loading…
Reference in New Issue