愛情誠可貴,數據價亦高
概覽
目標
學會 rsync 增量備份,實現 systemd 關機時自動執行腳本
路線
?? ? 備份的重要性
? rsync 增量備份
? systemd 關機時自動執行
? ??
反饋 or 求助
?? 或許寫的不盡你意,如果你有什么問題或是什么建議,可以 Email to: [email protected] 或者使用 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 日常小技巧,以及作者不為人知的小秘密等你來發現