備份是防止數據丟失的最后一道防線,它提供了恢復原始數據的一種方法。您可以使用可移動介質(比如外部硬驅和USB閃存盤)、共享的網絡文件夾或遠程主機來備份數據。自動備份重要文件、無需記得這么做很容易,也很重要。
本文介紹了將可移動介質連到Linux機器后如何將數據自動備份到可移動介質上。我們將使用外部磁盤來測試。這篇基本指南幫助您開始使用udev用于實際解決方案。
出于本文的目的,我們需要裝有以下組件的現代Linux系統:
systemd系統和服務管理器
udev設備管理器
rsync備份工具
如何為可移動介質配置Udev規則?
Udev是一種設備管理器,可讓您定義一些規則,設備添加到運行中的系統或從運行中的系統中刪除后,這些規則可以觸發程序或腳本的執行,作為設備事件處理的一部分。我們可以利用該功能,將可移動介質添加到運行中的系統后執行備份腳本。
為設備事件處理配置實際規則之前,我們需要為udev提供將用于備份的可移動介質的一些屬性。將外部磁盤連接到運行中的系統,然后運行以下lsusb命令以識別其廠商和產品ID。
為了進行測試,我們將使用如圖所示的1TB外部硬盤。
$ lsusb
圖1. 查找可移動介質的設備廠商ID
從以上命令的輸出中可以看出,設備廠商ID是125f,我們將在udev規則中指定該ID,如下所述。
首先從系統中刪除連接的介質,并在目錄/etc/udev/rules.d/下新建一個名為10.autobackup.rules的udev規則文件。
文件名中的10指定規則執行的順序。解析規則的順序很重要;您應該始終在創建默認規則之前創建要解析的自定義規則。
$ sudo vim /etc/udev/rules.d/10.autobackup.rules
然后在其中添加以下規則:
SUBSYSTEM==“block”, ACTION==“add”, ATTRS{idVendor}==“125f” SYMLINK+=“external%n”, RUN+=“/bin/autobackup.sh”
不妨簡要說明上述規則:
“ ==”:是進行相等性比較的運算符。
“ + =”:是用于將值添加到包含條目列表的鍵的運算符。
SUBSYSTEM:匹配事件設備的子系統。
ACTION:匹配事件動作的名稱。
ATTRS {idVendor}:匹配事件設備的sysfs屬性值,即設備廠商ID。
RUN:指定作為事件處理的一部分執行的程序或腳本。
保存文件并關閉。
創建自動備份腳本
現在創建一個自動備份腳本,該腳本將把文件自動備份到連到系統后的可移動USB。
$ sudo vim /bin/autobackup.sh
現在,復制并粘貼以下腳本,確保替換腳本中BACKUP_SOURCE、ACKUP_DEVICE和MOUNT_POINT的值。
#!/usr/bin/bash
BACKUP_SOURCE=“/home/admin/important”
BACKUP_DEVICE=“/dev/external1”
MOUNT_POINT=“/mnt/external”
#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then
/bin/mkdir “$MOUNT_POINT”;
fi
/bin/mount -t auto “$BACKUP_DEVICE” “$MOUNT_POINT”
#run a differential backup of files
/usr/bin/rsync -auz “$MOUNT_POINT” “$BACKUP_SOURCE” && /bin/umount “$BACKUP_DEVICE”
exit
然后使用以下命令使腳本可執行。
$ sudo chmod + x /bin/autobackup.sh
接下來,使用以下命令重新加載udev規則。
$ udevadm control –reload
下次連接外部硬盤或為系統配置的任何設備后,應會將指定位置的所有文檔自動備份到該設備上。
注意:這個方法多有效可能受到可移動介質上的文件系統和你編寫的udev規則的影響,尤其是捕獲設備屬性時。
-
usb
+關注
關注
60文章
7981瀏覽量
266102 -
Linux
+關注
關注
87文章
11345瀏覽量
210404 -
udev
+關注
關注
0文章
13瀏覽量
8244
發布評論請先 登錄
相關推薦
hyper-v文件,hyper-v文件查找的正確步驟和操作方法是什么?
![hyper-v<b class='flag-5'>文件</b>,hyper-v<b class='flag-5'>文件</b>查找的正確<b class='flag-5'>步驟</b>和操作方法是什么?](https://file1.elecfans.com/web3/M00/07/16/wKgZPGeTNVuARkfmAAGQlX9LMTA243.png)
windows服務器備份mysql腳本
VSS在數據備份中的作用 VSS技術的優勢與劣勢
AIC 3254 EVM-K連上電腦以后,打開CS軟件,USB顯示變綠是怎么回事?
使用Python腳本備份華為交換機的配置信息
![使用Python腳本<b class='flag-5'>備份</b>華為交換機的配置信息](https://file1.elecfans.com/web2/M00/02/FC/wKgaoma52uiAJoXeAAIKYCVp85o057.jpg)
手機照片和視頻一鍵快速備份到電腦/NAS,無需數據線,不消耗流量
![手機照片和視頻一鍵快速<b class='flag-5'>備份</b><b class='flag-5'>到</b>電腦/NAS,無需數據線,不消耗流量](https://file1.elecfans.com//web2/M00/02/E7/wKgaoma5iJeAW6TKAAN0SVhr42M666.jpg)
在FX3S上如何通過USB和GPIF將數據存儲到eMMC中?
請問STM32CubeMX 4.20.1自動生成的RTC備份寄存器能否讓用戶選擇?
STMCubeIDE使用CubeMX圖形化配置USB后沒有自動添加頭文件路徑是什么原因導致的?
如何清理完arcgis殘留文件
TARGET3001!用法篇-如何將Altium文件導入到TARGET中
TARGET3001!用法篇-如何將Altium文件導入到TARGET中
![TARGET3001!用法篇-如何<b class='flag-5'>將</b>Altium<b class='flag-5'>文件</b>導入<b class='flag-5'>到</b>TARGET中](https://file1.elecfans.com//web2/M00/C1/37/wKgaomXUSa-AaDqVAABiWKB3220555.png)
評論