Skip to content

Instantly share code, notes, and snippets.

@caleb-allen
Created March 15, 2025 19:43
Show Gist options
  • Save caleb-allen/1f026771ee3d3bc99759dc680d4f6c95 to your computer and use it in GitHub Desktop.
Save caleb-allen/1f026771ee3d3bc99759dc680d4f6c95 to your computer and use it in GitHub Desktop.
Android terminal Linux backup
#!/bin/bash
# --- Configuration ---
BACKUP_DIR="/mnt/shared/linux"
HOME_DIR="/home/droid"
DATE=$(date +%Y-%m-%d-%H-%M-%S)
BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz"
PACKAGE_LIST="$BACKUP_DIR/packages-$DATE.txt"
REPO_LIST="$BACKUP_DIR/repositories-$DATE.list"
# --- Check for Backup Directory ---
if [ ! -d "$BACKUP_DIR" ]; then
echo "Error: Backup directory '$BACKUP_DIR' does not exist."
exit 1
fi
# --- Back Up Home Directory ---
echo "Backing up home directory to '$BACKUP_FILE'..."
tar -czvf "$BACKUP_FILE" "$HOME_DIR" --exclude="$HOME_DIR/.cache" 2>>"$BACKUP_DIR/backup_errors.log"
if [ $? -ne 0 ]; then
echo "Error detected during home backup."
exit 1
fi
echo "Home directory backup complete."
# --- Export Package List ---
echo "Exporting package list to '$PACKAGE_LIST'..."
dpkg --get-selections | grep -v deinstall > "$PACKAGE_LIST"
echo "Package list exported."
# --- Export APT Repository Information ---
echo "Exporting repository list to '$REPO_LIST'..."
cp /etc/apt/sources.list "$REPO_LIST"
for f in /etc/apt/sources.list.d/*.list; do
echo "" >> "$REPO_LIST"
echo "# Source: $f" >> "$REPO_LIST"
cat "$f" >> "$REPO_LIST"
done
echo "Repository information exported."
echo "Backup process complete."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment