统信UOS怎么设置自动备份_统信UOS如何定期备份重要文件夹【方法】

秋瑶小哥_4585

秋瑶小哥_4585

2026-03-20

554人浏览

原创

统信uos系统可实现无人干预的定期文件备份,主要通过三种方式:一、调用内置“备份还原”工具配合cron定时执行;二、使用rsync与systemd timer完成轻量级增量同步;三、基于btrfs子卷快照实现毫秒级高频备份。

统信uos怎么设置自动备份_统信uos如何定期备份重要文件夹【方法】

如果您希望统信UOS系统在无人干预情况下定期保存重要文件夹的副本,避免手动操作遗漏或延迟,则需借助系统工具与定时任务机制组合实现。以下是实现自动备份的多种方法:

一、使用系统内置“备份还原”工具配合cron定时触发

该方法利用UOS预装的图形化备份工具生成备份任务脚本,并通过系统级定时服务cron周期性调用,适用于需保留完整系统分区结构且具备外接存储设备的用户。

1、打开终端,执行命令创建备份脚本:sudo nano /usr/local/bin/uos-auto-backup.sh。

2、在编辑器中输入以下内容(请将/mnt/backup替换为实际挂载的外部存储路径):
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M)
su -c "dbus-run-session -- sh -c 'export DISPLAY=:0; /usr/bin/backup-restore --backup --target /mnt/backup/uos_auto_$DATE.uimg --include-root --include-home'" $USER

3、保存并退出,执行命令赋予执行权限:sudo chmod +x /usr/local/bin/uos-auto-backup.sh。

4、编辑root用户的crontab:sudo crontab -e。

5、添加一行定时规则(例如每周日凌晨2点执行):0 2 * * 0 /usr/local/bin/uos-auto-backup.sh > /var/log/uos_backup.log 2>&1。

6、重启cron服务使配置生效:sudo systemctl restart cron。

二、基于rsync与systemd timer构建轻量级文件夹同步备份

该方法不依赖图形界面组件,仅同步指定用户目录(如Desktop、Documents、Pictures),支持增量传输、硬链接归档及失败邮件通知,适合注重效率与可控性的高级用户。

1、安装必要工具:sudo apt update && sudo apt install rsync mailutils -y。

2、创建备份目标目录并设置权限:sudo mkdir -p /mnt/backup/uos_daily && sudo chown $USER:$USER /mnt/backup/uos_daily。

3、编写rsync备份脚本:nano ~/bin/daily-folder-backup.sh,内容如下:
#!/bin/bash
rsync -avh --delete --link-dest=/mnt/backup/uos_daily/latest \
  /home/$USER/Desktop/ \
  /home/$USER/Documents/ \
  /home/$USER/Pictures/ \
  /mnt/backup/uos_daily/$(date +%Y%m%d)/ \
ln -sfT /mnt/backup/uos_daily/$(date +%Y%m%d) /mnt/backup/uos_daily/latest

4、赋予执行权限:chmod +x ~/bin/daily-folder-backup.sh。

5、创建systemd timer单元文件:nano ~/.config/systemd/user/backup-folder.timer,写入:
[Unit]
Description=Daily backup of user folders
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target

6、创建对应service文件:nano ~/.config/systemd/user/backup-folder.service,写入:
[Unit]
Description=Backup user folders with rsync
[Service]
Type=oneshot
ExecStart=/home/$USER/bin/daily-folder-backup.sh
[Install]
WantedBy=default.target

7、启用并启动timer:systemctl --user daemon-reload && systemctl --user enable --now backup-folder.timer。

三、启用Btrfs子卷快照并配置定时快照服务

该方法要求根文件系统已迁移至Btrfs格式,通过btrfs filesystem snapshot命令创建瞬时只读快照,占用空间极小且毫秒级完成,适用于需高频捕获系统状态的场景。

1、确认当前根分区使用Btrfs:findmnt -n -o FSTYPE /,输出应为btrfs。

2、检查默认子卷命名规范:sudo btrfs subvolume list /,确认存在名为@与@home的子卷。

3、创建快照存储目录:sudo mkdir -p /mnt/backup/btrfs-snapshots。

4、编写快照脚本:sudo nano /usr/local/bin/btrfs-snapshot.sh,内容为:
#!/bin/bash
SUFFIX=$(date +%Y%m%d_%H%M%S)
sudo btrfs subvolume snapshot -r / /.snapshots/@_$SUFFIX
sudo btrfs subvolume snapshot -r /home /.snapshots/@home_$SUFFIX
sudo mv /.snapshots/@_$SUFFIX /mnt/backup/btrfs-snapshots/
sudo mv /.snapshots/@home_$SUFFIX /mnt/backup/btrfs-snapshots/

5、设置脚本权限:sudo chmod +x /usr/local/bin/btrfs-snapshot.sh。

6、配置每日快照cron任务:sudo crontab -e,添加:
0 3 * * * /usr/local/bin/btrfs-snapshot.sh > /dev/null 2>&1

7、定期清理旧快照(可选):在上述脚本末尾追加清理逻辑,例如保留最近7个快照:
sudo btrfs subvolume list -o /mnt/backup/btrfs-snapshots | head -n -7 | awk '{print $9}' | xargs -I {} sudo btrfs subvolume delete /mnt/backup/btrfs-snapshots/{}

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2840

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

249

24

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

549

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1678

6

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

2023.10.17

580

4

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

2023.10.18

876

5

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

2025.08.19

1886

14

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

2023.11.13

2951

4

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.29

905

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习