爱情诚可贵,数据价亦高
概览
目标
学会 rsync 增量备份,实现 systemd 关机时自动执行脚本
路线
📖 ✈ 备份的重要性
✈ rsync 增量备份
✈ systemd 关机时自动执行
✈ 📔
反馈 or 求助
📕 或许写的不尽你意,如果你有什么问题或是什么建议,可以 Email to: lingxing1017@gmail.com 或者使用 anydesk 请求协助,我们一起探索前行
备份的重要性
吴氏者,初从文,三年不中,后习武,校场发矢,中鼓吏,逐之出,遂学医,有所成,自撰一良方,服之,卒。
备份很重要
备份很重要
备份很重要
重要的事情说三遍
12.10,一个悲伤的日子,手残给 Linux 的 Home 分区格式化了,找了一圈只有一个 7.16 的 Home 备份,真是一格回到解放前啊。
我的资料,我的代码,我的不可描述。。。(你没看错,大佬的电脑里也有不可描述——小僵尸评)
为了防止此种事情再次发生(绝不能在发生),写了一个脚本备份 home,脚本超级简单,但是每天执行脚本太累了。所以研究了一下 systemd 的服务,现在完成了基本的备份功能。暂时没有发现有什么不妥的地方。
rsync 增量备份
提前说明下,我的分区是 SSD 三个分区 /
/home
/swap
,HDD 自动挂在到 /mnt/backup 下
脚本很简单,文件名为Home_sync.sh,内容如下
#! /bin/bash rsync -az \ /home/susu/ \ --exclude='.cache' \ --delete \ /mnt/backup/Home_backup/
这里使用的是 rsync 来增量备份的,有关 rsync 的详细用法后续会发
--exclude 是用来过滤文件及文件夹的
--delete 是同步时删除没有的文件
systemd 关机时自动执行
虽然有了脚本,但是还是需要手动执行,所以我们需要 systemd 写一个服务(service)来实现关机自动执行脚本
。
在 /lib/systemd/system/
创建文件名为 home_sync.service,内容如下
[Unit] Description=Backup susu home dir to archives RequiresMountsFor=/home /mnt/backup [Service] Type=oneshot RemainAfterExit=true ExecStart=/bin/true ExecStop=/bin/bash /home/susu/Tools/Home_sync.sh [Install] WantedBy=multi-user.target
重新加载 systemd 配置
sudo systemctl daemon-reload
开机自动启动
sudo systemctl enable home_sync.service
查看服务状态
sudo systemctl status home_sync.service
启动service
sudo systemctl start home_sync.service
经过一顿操作,终于不用担心手残把 home 格式化了。
more
更多 Linux 日常小技巧,以及作者不为人知的小秘密等你来发现