100 lines
3.3 KiB
Bash
100 lines
3.3 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# Quick Transfer Script - Use this to send backup to new server
|
||
|
|
|
||
|
|
echo "========================================="
|
||
|
|
echo " SkyArtShop - Quick Transfer"
|
||
|
|
echo "========================================="
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Colors
|
||
|
|
GREEN='\033[0;32m'
|
||
|
|
YELLOW='\033[1;33m'
|
||
|
|
BLUE='\033[0;34m'
|
||
|
|
NC='\033[0m'
|
||
|
|
|
||
|
|
# Check if backup exists
|
||
|
|
BACKUP_DIR=~/skyartshop-backup
|
||
|
|
if [ ! -d "$BACKUP_DIR" ]; then
|
||
|
|
echo -e "${YELLOW}Backup not found. Running preparation script...${NC}"
|
||
|
|
bash /var/www/SkyArtShop/migrate-prepare.sh
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Get new server details
|
||
|
|
echo -e "${BLUE}Enter new server details:${NC}"
|
||
|
|
read -p "Username: " NEW_USER
|
||
|
|
read -p "IP Address: " NEW_IP
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Create single archive
|
||
|
|
echo -e "${YELLOW}Creating single archive for easy transfer...${NC}"
|
||
|
|
DATE=$(date +%Y%m%d_%H%M%S)
|
||
|
|
cd ~
|
||
|
|
tar -czf skyartshop-complete-$DATE.tar.gz skyartshop-backup/
|
||
|
|
ARCHIVE_SIZE=$(du -sh skyartshop-complete-$DATE.tar.gz | cut -f1)
|
||
|
|
echo -e "${GREEN}✓ Archive created: skyartshop-complete-$DATE.tar.gz ($ARCHIVE_SIZE)${NC}"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Test connection
|
||
|
|
echo -e "${YELLOW}Testing connection to new server...${NC}"
|
||
|
|
if ssh -o ConnectTimeout=5 $NEW_USER@$NEW_IP "echo 'Connection successful'" 2>/dev/null; then
|
||
|
|
echo -e "${GREEN}✓ Connection successful${NC}"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Transfer file
|
||
|
|
echo -e "${YELLOW}Transferring archive to new server...${NC}"
|
||
|
|
echo "This may take several minutes depending on file size and network speed..."
|
||
|
|
|
||
|
|
scp ~/skyartshop-complete-$DATE.tar.gz $NEW_USER@$NEW_IP:/tmp/
|
||
|
|
|
||
|
|
if [ $? -eq 0 ]; then
|
||
|
|
echo -e "${GREEN}✓ Transfer complete!${NC}"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Extract on remote server
|
||
|
|
echo -e "${YELLOW}Extracting on new server...${NC}"
|
||
|
|
ssh $NEW_USER@$NEW_IP "cd ~ && tar -xzf /tmp/skyartshop-complete-$DATE.tar.gz && rm /tmp/skyartshop-complete-$DATE.tar.gz"
|
||
|
|
|
||
|
|
echo -e "${GREEN}✓ Files extracted on new server${NC}"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Display next steps
|
||
|
|
echo "========================================="
|
||
|
|
echo " ✅ TRANSFER COMPLETE"
|
||
|
|
echo "========================================="
|
||
|
|
echo ""
|
||
|
|
echo "Next Steps - Run on NEW SERVER:"
|
||
|
|
echo ""
|
||
|
|
echo "1. SSH to the new server:"
|
||
|
|
echo -e " ${YELLOW}ssh $NEW_USER@$NEW_IP${NC}"
|
||
|
|
echo ""
|
||
|
|
echo "2. Install prerequisites (if not already installed):"
|
||
|
|
echo -e " ${YELLOW}bash ~/skyartshop-backup/install-prerequisites.sh${NC}"
|
||
|
|
echo ""
|
||
|
|
echo "3. Run restoration script:"
|
||
|
|
echo -e " ${YELLOW}bash ~/skyartshop-backup/migrate-restore.sh${NC}"
|
||
|
|
echo ""
|
||
|
|
echo "4. Follow the on-screen instructions"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
else
|
||
|
|
echo -e "${RED}✗ Transfer failed${NC}"
|
||
|
|
echo "Try manual transfer:"
|
||
|
|
echo -e " ${YELLOW}scp ~/skyartshop-complete-$DATE.tar.gz $NEW_USER@$NEW_IP:/tmp/${NC}"
|
||
|
|
fi
|
||
|
|
|
||
|
|
else
|
||
|
|
echo -e "${RED}✗ Cannot connect to new server${NC}"
|
||
|
|
echo ""
|
||
|
|
echo "Manual transfer options:"
|
||
|
|
echo ""
|
||
|
|
echo "1. Using SCP:"
|
||
|
|
echo -e " ${YELLOW}scp ~/skyartshop-complete-$DATE.tar.gz $NEW_USER@$NEW_IP:/tmp/${NC}"
|
||
|
|
echo ""
|
||
|
|
echo "2. Using USB drive:"
|
||
|
|
echo -e " ${YELLOW}cp ~/skyartshop-complete-$DATE.tar.gz /media/usb-drive/${NC}"
|
||
|
|
echo ""
|
||
|
|
echo "3. Using cloud storage:"
|
||
|
|
echo " Upload ~/skyartshop-complete-$DATE.tar.gz to your cloud provider"
|
||
|
|
echo ""
|
||
|
|
fi
|