modified backup-server code. now it uses normal copy function to back up VM files instead of rsync

This commit is contained in:
arul 2025-03-12 02:12:58 +05:30
parent 7b0108c236
commit 7abc6d7977

71
backup-server Executable file → Normal file
View File

@ -6,12 +6,11 @@ if [ "$EUID" -ne 0 ]; then
exit 1 exit 1
fi fi
#Check whether server VMs are in shutdown state if not..shutdown the VMs # Check whether server VMs are in shutdown state if not..shutdown the VMs
./check-server1 ./check-server1
./check-server2 ./check-server2
# Define source directories using the explicit path to your home directory # Define source directories using the explicit path to your home directory
VM_DIR_MY_PLATFORMS="/home/arul/my_platforms/" VM_DIR_MY_PLATFORMS="/home/arul/my_platforms/"
VM_DIR_LDR_SERVER="/home/arul/ldr-server/" VM_DIR_LDR_SERVER="/home/arul/ldr-server/"
@ -43,57 +42,63 @@ chmod 700 "$BACKUP_DRIVE"
chmod 755 "$BACKUP_DRIVE/my_platforms" "$BACKUP_DRIVE/ldr-server" "$BACKUP_DRIVE/home-server_nginx" chmod 755 "$BACKUP_DRIVE/my_platforms" "$BACKUP_DRIVE/ldr-server" "$BACKUP_DRIVE/home-server_nginx"
echo "Backup directory structure set up with appropriate permissions." echo "Backup directory structure set up with appropriate permissions."
# Backup VM files from my_platforms if the source directory exists # Delete previous backups from the backup drive if they exist
echo "Deleting previous backups..."
rm -rf "$BACKUP_DRIVE/my_platforms/*" "$BACKUP_DRIVE/ldr-server/*" "$BACKUP_DRIVE/home-server_nginx/*"
echo "Previous backups deleted."
# Copy VM files from my_platforms if the source directory exists
if [ -d "$VM_DIR_MY_PLATFORMS" ]; then if [ -d "$VM_DIR_MY_PLATFORMS" ]; then
echo "Backing up VM files from my_platforms..." echo "Copying VM files from my_platforms..."
rsync -avh --progress --no-owner --no-group "$VM_DIR_MY_PLATFORMS" "$BACKUP_DRIVE/my_platforms/" cp -r "$VM_DIR_MY_PLATFORMS"/* "$BACKUP_DRIVE/my_platforms/"
echo "Backup of my_platforms completed." echo "Copy of my_platforms completed."
else else
echo "Warning: $VM_DIR_MY_PLATFORMS does not exist. Skipping backup for my_platforms." echo "Warning: $VM_DIR_MY_PLATFORMS does not exist. Skipping copy for my_platforms."
fi fi
# Backup VM files from ldr-server if the source directory exists # Copy VM files from ldr-server if the source directory exists
if [ -d "$VM_DIR_LDR_SERVER" ]; then if [ -d "$VM_DIR_LDR_SERVER" ]; then
echo "Backing up VM files from ldr-server..." echo "Copying VM files from ldr-server..."
rsync -avh --progress --no-owner --no-group "$VM_DIR_LDR_SERVER" "$BACKUP_DRIVE/ldr-server/" cp -r "$VM_DIR_LDR_SERVER"/* "$BACKUP_DRIVE/ldr-server/"
echo "Backup of ldr-server completed." echo "Copy of ldr-server completed."
else else
echo "Warning: $VM_DIR_LDR_SERVER does not exist. Skipping backup for ldr-server." echo "Warning: $VM_DIR_LDR_SERVER does not exist. Skipping copy for ldr-server."
fi fi
# Backup Nginx configuration files # Copy Nginx configuration files
echo "Backing up Nginx configuration files..." echo "Copying Nginx configuration files..."
rsync -avh --progress --no-owner --no-group "$NGINX_DIR" "$BACKUP_DRIVE/home-server_nginx/" cp -r "$NGINX_DIR"/* "$BACKUP_DRIVE/home-server_nginx/"
echo "Backup of Nginx configuration completed." echo "Copy of Nginx configuration completed."
# Set permissions for Nginx configuration files # Set permissions for Nginx configuration files
echo "Setting permissions for Nginx configuration files..." #echo "Setting permissions for Nginx configuration files..."
chmod 644 "$BACKUP_DRIVE/home-server_nginx/"* #chmod 644 "$BACKUP_DRIVE/home-server_nginx/"*
echo "Permissions set for Nginx files." #echo "Permissions set for Nginx files."
# Set permissions for VM files if the directories exist # Set permissions for VM files if the directories exist
if [ -d "$BACKUP_DRIVE/my_platforms" ]; then #if [ -d "$BACKUP_DRIVE/my_platforms" ]; then
echo "Setting permissions for VM files in my_platforms..." # echo "Setting permissions for VM files in my_platforms..."
chmod 600 "$BACKUP_DRIVE/my_platforms/"* # chmod 600 "$BACKUP_DRIVE/my_platforms/"*
fi #fi
if [ -d "$BACKUP_DRIVE/ldr-server" ]; then #if [ -d "$BACKUP_DRIVE/ldr-server" ]; then
echo "Setting permissions for VM files in ldr-server..." # echo "Setting permissions for VM files in ldr-server..."
chmod 600 "$BACKUP_DRIVE/ldr-server/"* # chmod 600 "$BACKUP_DRIVE/ldr-server/"*
fi #fi
# Remove executable permissions from backed up files # Remove executable permissions from copied files
echo "Removing executable permissions from backed up files..." #echo "Removing executable permissions from copied files..."
chmod -x "$BACKUP_DRIVE/my_platforms/"* "$BACKUP_DRIVE/ldr-server/"* "$BACKUP_DRIVE/home-server_nginx/"* #chmod -x "$BACKUP_DRIVE/my_platforms/"* "$BACKUP_DRIVE/ldr-server/"* "$BACKUP_DRIVE/home-server_nginx/"*
echo "Executable permissions removed." #echo "Executable permissions removed."
echo "All backups completed successfully!" echo "Latest version of Server VM Backup completed successfully!"
figlet "Done" figlet "Done"
echo "Unmounting the External backup drive" echo "Unmounting the External backup drive"
umount -l /mnt/my-drive umount -l /mnt/my-drive
# Reboot the system after the backup # Reboot the system after the copy operation
echo "Rebooting the system..." echo "Rebooting the system..."
reboot reboot