← 返回
未分类

Backup Manager

Automates file, database, and config backups locally, over network, or to cloud with scheduling, monitoring, versioning, and restore support.
自动化文件、数据库和配置的本地、网络或云端备份,支持调度、监控、版本控制和恢复。
picaye
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 223
下载
💾 6
安装
1
版本
#latest

概述

Backup Manager

Automated backups for your files, databases, and configurations. Local, network, or cloud storage.

Category: home, security

API Key Required: No (unless using cloud storage)

What It Does

Sets up and manages automated backups using rsync, cron, and optional cloud sync (rclone). Back up important files to another drive, NAS, or cloud provider (Google Drive, S3, Dropbox). Your agent handles scheduling, monitoring, and restoration.

Setup

Install dependencies

sudo apt install rsync -y
# For cloud backups:
sudo apt install rclone -y

Agent Commands

Simple backup (local to local)

# Backup home directory to external drive
rsync -avh --progress /home/USER/ /mnt/backup/home/ --delete --exclude='.cache' --exclude='node_modules' --exclude='.local/share/Trash'

Backup to another machine (SSH)

rsync -avhz --progress /home/USER/ user@BACKUP_SERVER:/backups/$(hostname)/ --delete

Create a backup script

cat > ~/backup.sh << 'EOF'
#!/bin/bash
TIMESTAMP=$(date +%Y-%m-%d_%H%M)
BACKUP_DIR="/mnt/backup"
LOG="/var/log/backup.log"

echo "[$TIMESTAMP] Backup starting..." >> $LOG

# Backup home directory
rsync -avh --delete \
  --exclude='.cache' \
  --exclude='node_modules' \
  --exclude='.local/share/Trash' \
  --exclude='*.tmp' \
  /home/ $BACKUP_DIR/home/ 2>&1 >> $LOG

# Backup system configs
rsync -avh /etc/ $BACKUP_DIR/etc/ 2>&1 >> $LOG

echo "[$TIMESTAMP] Backup complete." >> $LOG
EOF
chmod +x ~/backup.sh

Schedule automatic backups

# Daily at 2am
(crontab -l 2>/dev/null; echo "0 2 * * * /home/USER/backup.sh") | crontab -

Cloud backup with rclone

# Configure (interactive, one-time)
rclone config

# Backup to Google Drive
rclone sync /home/USER/Documents remote:Backups/Documents --progress

# Backup to S3
rclone sync /home/USER/Documents s3:mybucket/backups/ --progress

# List configured remotes
rclone listremotes

Database backup (PostgreSQL)

pg_dump DATABASE_NAME > /mnt/backup/db/$(date +%Y%m%d)_database.sql

Database backup (MySQL)

mysqldump -u root DATABASE_NAME > /mnt/backup/db/$(date +%Y%m%d)_database.sql

Check backup status

# Last backup time
ls -lht /mnt/backup/ | head -5

# Backup size
du -sh /mnt/backup/*/

# Check cron is set up
crontab -l | grep backup

Compare backup with source

rsync -avhn --delete /home/USER/ /mnt/backup/home/ | head -20
# -n = dry run, shows what WOULD change

Restore from backup

# Restore specific file
cp /mnt/backup/home/USER/Documents/important.doc /home/USER/Documents/

# Restore entire directory
rsync -avh /mnt/backup/home/USER/ /home/USER/ --dry-run
# Remove --dry-run when ready to actually restore

Snapshot backup (with versions)

# Create timestamped snapshots using hard links (space efficient)
DEST="/mnt/backup/snapshots/$(date +%Y-%m-%d)"
LATEST="/mnt/backup/snapshots/latest"
rsync -avh --delete --link-dest=$LATEST /home/USER/ $DEST/
ln -snf $DEST $LATEST

Check backup integrity

# Compare checksums
find /home/USER/Documents -type f -exec md5sum {} \; | sort > /tmp/source.md5
find /mnt/backup/home/USER/Documents -type f -exec md5sum {} \; | sort > /tmp/backup.md5
diff /tmp/source.md5 /tmp/backup.md5

Clean old backups

# Remove snapshots older than 30 days
find /mnt/backup/snapshots/ -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;

The 3-2-1 Rule

For important data, follow 3-2-1:

  • 3 copies of your data
  • 2 different storage types (e.g. SSD + external drive)
  • 1 off-site copy (cloud or remote server)

Examples

User: "Back up my stuff"

→ Run rsync to backup destination, report what was copied

User: "Set up automatic daily backups"

→ Create backup script + cron job, confirm schedule

User: "When was my last backup?"

→ Check backup directory timestamps and cron logs

User: "I accidentally deleted a file"

→ Find it in the backup, restore it

Constraints

  • rsync --delete removes files from backup that no longer exist in source — be careful
  • First backup takes longest (copies everything), subsequent are incremental
  • Cloud backups depend on upload speed
  • Always test restores — a backup you can't restore is worthless
  • Database backups should happen before file backups (consistency)

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-12 06:06 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

productivity

Cron Scheduler

picaye
使用简化的cron语法创建、列出、修改和删除定时任务以自动化系统任务,并管理输出日志。
★ 4 📥 6,264
developer-tools

Country Info

picaye
使用 REST Countries API 获取详细的国家数据,包括人口、首都、语言、货币、国旗及地区信息。
★ 0 📥 893

Adblock Dns

picaye
在你的机器上运行DNS服务器,使用Pi-hole黑名单阻止189,000+个广告、追踪器和恶意软件域名,实现全网拦截。
★ 0 📥 299