熱插拔SATA驅動器時自動rsync(托架不是esata)

熱插拔SATA驅動器時自動rsync(托架不是esata)

為了跟上我的備份,當我將特定的SATA硬碟插入任何或所有熱插拔托架時,我想執行特定的rsync命令。是否可以使用 uuid 以某種方式追蹤驅動器來完成此操作?每當我搜尋時,我都會找到用於 USB 驅動器的 udev,這也可以在這裡工作嗎?

答案1

我為此使用了一個簡單的 udev 規則。備份磁碟機標有特定的捲標(使用tune2fs進行設定)。 udev 規則啟動一個腳本:

$ cat /etc/udev/rules.d/90-backup.rules 
ACTION=="add", ENV{ID_FS_LABEL}=="backup", RUN+="/usr/local/bin/backup.sh"

(如果您不想使用磁碟區標籤,可以使用 ENV{ID_FS_UUID}="some-uuid")

該腳本僅執行 rsync:

$ cat /usr/local/bin/backup.sh
#!/bin/bash

mnt=/media/backup

(
mount $mnt
rsync -avx --exclude lost+found /home/ $mnt/backup/
umount $mnt
) > /dev/null 2>&1 &

udev 預計 RUN="" 指令是短暫的,因此腳本在背景執行 rsync。

這適用於任何類型的磁碟機和/或介面 - 只要 udev 收到磁碟機已新增的通知。

相關內容