備份是防止數(shù)據(jù)丟失的最后一道防線,它提供了恢復(fù)原始數(shù)據(jù)的一種方法。您可以使用可移動介質(zhì)(比如外部硬驅(qū)和USB閃存盤)、共享的網(wǎng)絡(luò)文件夾或遠程主機來備份數(shù)據(jù)。自動備份重要文件、無需記得這么做很容易,也很重要。
本文介紹了將可移動介質(zhì)連到Linux機器后如何將數(shù)據(jù)自動備份到可移動介質(zhì)上。我們將使用外部磁盤來測試。這篇基本指南幫助您開始使用udev用于實際解決方案。
出于本文的目的,我們需要裝有以下組件的現(xiàn)代Linux系統(tǒng):
systemd系統(tǒng)和服務(wù)管理器
udev設(shè)備管理器
rsync備份工具
如何為可移動介質(zhì)配置Udev規(guī)則?
Udev是一種設(shè)備管理器,可讓您定義一些規(guī)則,設(shè)備添加到運行中的系統(tǒng)或從運行中的系統(tǒng)中刪除后,這些規(guī)則可以觸發(fā)程序或腳本的執(zhí)行,作為設(shè)備事件處理的一部分。我們可以利用該功能,將可移動介質(zhì)添加到運行中的系統(tǒng)后執(zhí)行備份腳本。
為設(shè)備事件處理配置實際規(guī)則之前,我們需要為udev提供將用于備份的可移動介質(zhì)的一些屬性。將外部磁盤連接到運行中的系統(tǒng),然后運行以下lsusb命令以識別其廠商和產(chǎn)品ID。
為了進行測試,我們將使用如圖所示的1TB外部硬盤。
$ lsusb
圖1. 查找可移動介質(zhì)的設(shè)備廠商ID
從以上命令的輸出中可以看出,設(shè)備廠商ID是125f,我們將在udev規(guī)則中指定該ID,如下所述。
首先從系統(tǒng)中刪除連接的介質(zhì),并在目錄/etc/udev/rules.d/下新建一個名為10.autobackup.rules的udev規(guī)則文件。
文件名中的10指定規(guī)則執(zhí)行的順序。解析規(guī)則的順序很重要;您應(yīng)該始終在創(chuàng)建默認規(guī)則之前創(chuàng)建要解析的自定義規(guī)則。
$ sudo vim /etc/udev/rules.d/10.autobackup.rules
然后在其中添加以下規(guī)則:
SUBSYSTEM==“block”, ACTION==“add”, ATTRS{idVendor}==“125f” SYMLINK+=“external%n”, RUN+=“/bin/autobackup.sh”
不妨簡要說明上述規(guī)則:
“ ==”:是進行相等性比較的運算符。
“ + =”:是用于將值添加到包含條目列表的鍵的運算符。
SUBSYSTEM:匹配事件設(shè)備的子系統(tǒng)。
ACTION:匹配事件動作的名稱。
ATTRS {idVendor}:匹配事件設(shè)備的sysfs屬性值,即設(shè)備廠商ID。
RUN:指定作為事件處理的一部分執(zhí)行的程序或腳本。
保存文件并關(guān)閉。
創(chuàng)建自動備份腳本
現(xiàn)在創(chuàng)建一個自動備份腳本,該腳本將把文件自動備份到連到系統(tǒng)后的可移動USB。
$ sudo vim /bin/autobackup.sh
現(xiàn)在,復(fù)制并粘貼以下腳本,確保替換腳本中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
然后使用以下命令使腳本可執(zhí)行。
$ sudo chmod + x /bin/autobackup.sh
接下來,使用以下命令重新加載udev規(guī)則。
$ udevadm control –reload
下次連接外部硬盤或為系統(tǒng)配置的任何設(shè)備后,應(yīng)會將指定位置的所有文檔自動備份到該設(shè)備上。
注意:這個方法多有效可能受到可移動介質(zhì)上的文件系統(tǒng)和你編寫的udev規(guī)則的影響,尤其是捕獲設(shè)備屬性時。
-
usb
+關(guān)注
關(guān)注
60文章
8480瀏覽量
286044 -
Linux
+關(guān)注
關(guān)注
88文章
11822瀏覽量
219600 -
udev
+關(guān)注
關(guān)注
0文章
13瀏覽量
8428
發(fā)布評論請先 登錄
將 MCUX SDK LIN 堆棧集成到 Zephyr OS 中,是否有一種方法可以自動生成它們從 .ldf 文件?
MySQL數(shù)據(jù)庫備份恢復(fù)方式對比
MAX1823系列:一款具備故障抑制和自動復(fù)位功能的雙路USB開關(guān)
MAX1259電池管理器:可靠的電源備份解決方案
深度解讀MySQL數(shù)據(jù)庫備份恢復(fù)策略
系統(tǒng)c盤滿了怎么清理不需要文件
Bootloader固件升級的步驟
MySQL數(shù)據(jù)備份與恢復(fù)策略
西門子840D數(shù)控系統(tǒng)備份及恢復(fù)方法
將文件自動備份到連上的USB介質(zhì)的步驟
評論