需配置可调度、可验证、带保留策略的自动备份机制:一、cron+脚本实现达梦数据库定时备份;二、borgbackup实现去重加密备份;三、btrfs子卷快照毫秒级保存;四、调用系统「备份还原」工具gui自动化。

如果您希望在统信UOS系统中实现关键数据的周期性自动保护,防止因误删、勒索或硬件故障导致信息丢失,则需配置可调度、可验证、具备保留策略的自动备份机制。以下是多种技术路径下的具体设置方法:
一、配置Cron定时执行数据库备份脚本
该方法适用于达梦等本地数据库环境,通过shell脚本封装逻辑导出命令,并由cron守护进程按设定时间触发,支持时间戳命名、日志记录与旧备份自动清理。
1、创建备份脚本文件:sudo nano /usr/local/bin/dm_backup.sh
2、写入以下内容(请将SYSDBA/SYSDBA、5236及路径按实际替换):
#!/bin/bash
cd /data/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA@localhost:5236 FILE=dm_backup_$(date +%Y%m%d_%H%M%S).dmp DIRECTORY=/backup/dm LOG=dm_backup_$(date +%Y%m%d_%H%M%S).log owner=SYSDBA
3、赋予执行权限:sudo chmod +x /usr/local/bin/dm_backup.sh
4、手动执行验证:sudo /usr/local/bin/dm_backup.sh,确认/backup/dm目录下生成.dmp与.log文件
5、编辑当前用户crontab:crontab -e
6、添加定时任务(示例为每日凌晨2点执行):0 2 * * * /usr/local/bin/dm_backup.sh
7、保存退出后检查任务列表:crontab -l
8、确认cron服务运行:sudo systemctl status cron,若未激活则执行sudo systemctl start cron
二、部署BorgBackup实现去重加密自动备份
该方法基于块级数据去重与AES-256端到端加密,支持增量上传、远程仓库同步与空间高效存储,适用于用户主目录、文档库等非结构化数据的自动化保护。
1、安装BorgBackup:sudo apt update && sudo apt install borgbackup -y
2、初始化加密仓库(路径可设于外接硬盘):borg init --encryption=repokey-blake2 /mnt/usb/borg-repo
3、按提示输入并确认强密码,该密码不可丢失且无法恢复
4、执行首次备份(含进度与统计):borg create --stats --progress /mnt/usb/borg-repo::docs-{now:%Y-%m-%d} /home/$USER/Documents
5、创建systemd timer单元:sudo nano /etc/systemd/system/borg-backup.timer
6、写入定时规则(每日凌晨3点):
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
7、创建对应service单元:sudo nano /etc/systemd/system/borg-backup.service
8、写入执行指令:
[Service]
Type=oneshot
ExecStart=/usr/bin/borg create --stats /mnt/usb/borg-repo::auto-{now:%Y-%m-%d} /home/$USER/Documents
9、启用timer:sudo systemctl daemon-reload && sudo systemctl enable --now borg-backup.timer
10、查看状态:systemctl list-timers | grep borg
三、启用Btrfs子卷快照实现毫秒级自动快照
该方法依赖Btrfs文件系统原生能力,无需外部工具,快照创建瞬时完成、仅记录差异、不额外占用空间,适用于系统配置频繁变更场景下的轻量级自动状态保存。
1、确认根分区使用Btrfs:df -T / | grep btrfs,无输出需先迁移
2、创建快照保存目录:sudo mkdir -p /snapshots
3、编写快照脚本:sudo nano /usr/local/bin/btrfs-snapshot.sh
4、写入内容:
#!/bin/bash
sudo btrfs subvolume snapshot -r / /snapshots/root_$(date +\%Y\%m\%d_\%H\%M\%S)
5、赋予执行权限:sudo chmod +x /usr/local/bin/btrfs-snapshot.sh
6、配置每日快照cron任务:sudo crontab -e
7、添加行:0 4 * * * /usr/local/bin/btrfs-snapshot.sh
8、验证快照生成:sudo btrfs subvolume list /
9、设置自动清理(保留最近7个快照):sudo btrfs subvolume list /snapshots | head -n -7 | awk '{print $2}' | xargs -I {} sudo btrfs subvolume delete /snapshots/{}
四、使用系统内置「备份还原」工具配置计划备份
该方法调用统信UOS预装图形化工具后台服务,生成含根分区、/home及EFI的整机.uimg镜像,支持GUI界面设置周期,但需配合第三方调度器实现真正自动化。
1、首次手动创建备份以初始化配置:点击启动器→搜索“备份还原”→选择“系统备份”→指定外接设备路径→勾选系统与用户分区→点击“开始备份”
2、确认备份成功后,记录生成的.uimg文件完整路径,例如:/media/usb/uos_full_20260430_050000.uimg
3、创建包装脚本:nano ~/run-backup.sh
4、写入调用命令:
#!/bin/bash
dbus-send --system --dest=com.deepin.daemon.Backup /com/deepin/daemon/Backup com.deepin.daemon.Backup.StartBackup string:"/media/usb"
5、赋予执行权限:chmod +x ~/run-backup.sh
6、配置cron每日执行:crontab -e,添加:0 5 * * * DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ~/run-backup.sh
7、确保用户会话环境变量可用,否则备份任务将无法连接D-Bus服务










