自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何將文件自動(dòng)備份到連上的USB介質(zhì)?

譯文
存儲(chǔ) 存儲(chǔ)軟件
本文介紹了將可移動(dòng)介質(zhì)連到Linux機(jī)器后如何將數(shù)據(jù)自動(dòng)備份到可移動(dòng)介質(zhì)上。我們將使用外部磁盤來(lái)測(cè)試。這篇基本指南幫助您開(kāi)始使用udev用于實(shí)際解決方案。

【51CTO.com快譯】備份是防止數(shù)據(jù)丟失的最后一道防線,它提供了恢復(fù)原始數(shù)據(jù)的一種方法。您可以使用可移動(dòng)介質(zhì)(比如外部硬驅(qū)和USB閃存盤)、共享的網(wǎng)絡(luò)文件夾或遠(yuǎn)程主機(jī)來(lái)備份數(shù)據(jù)。自動(dòng)備份重要文件、無(wú)需記得這么做很容易,也很重要。

本文介紹了將可移動(dòng)介質(zhì)連到Linux機(jī)器后如何將數(shù)據(jù)自動(dòng)備份到可移動(dòng)介質(zhì)上。我們將使用外部磁盤來(lái)測(cè)試。這篇基本指南幫助您開(kāi)始使用udev用于實(shí)際解決方案。

出于本文的目的,我們需要裝有以下組件的現(xiàn)代Linux系統(tǒng):

  • systemd系統(tǒng)和服務(wù)管理器
  • udev設(shè)備管理器
  • rsync備份工具

如何為可移動(dòng)介質(zhì)配置Udev規(guī)則?

Udev是一種設(shè)備管理器,可讓您定義一些規(guī)則,設(shè)備添加到運(yùn)行中的系統(tǒng)或從運(yùn)行中的系統(tǒng)中刪除后,這些規(guī)則可以觸發(fā)程序或腳本的執(zhí)行,作為設(shè)備事件處理的一部分。我們可以利用該功能,將可移動(dòng)介質(zhì)添加到運(yùn)行中的系統(tǒng)后執(zhí)行備份腳本。

為設(shè)備事件處理配置實(shí)際規(guī)則之前,我們需要為udev提供將用于備份的可移動(dòng)介質(zhì)的一些屬性。將外部磁盤連接到運(yùn)行中的系統(tǒng),然后運(yùn)行以下lsusb命令以識(shí)別其廠商和產(chǎn)品ID。

為了進(jìn)行測(cè)試,我們將使用如圖所示的1TB外部硬盤。

  1. $ lsusb 

圖1. 查找可移動(dòng)介質(zhì)的設(shè)備廠商ID

從以上命令的輸出中可以看出,設(shè)備廠商ID是125f,我們將在udev規(guī)則中指定該ID,如下所述。

首先從系統(tǒng)中刪除連接的介質(zhì),并在目錄/etc/udev/rules.d/下新建一個(gè)名為10.autobackup.rules的udev規(guī)則文件。

文件名中的10指定規(guī)則執(zhí)行的順序。解析規(guī)則的順序很重要;您應(yīng)該始終在創(chuàng)建默認(rèn)規(guī)則之前創(chuàng)建要解析的自定義規(guī)則。

  1. $ sudo vim /etc/udev/rules.d/10.autobackup.rules 

然后在其中添加以下規(guī)則:

  1. SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/autobackup.sh" 

不妨簡(jiǎn)要說(shuō)明上述規(guī)則:

  • “ ==”:是進(jìn)行相等性比較的運(yùn)算符。
  • “ + =”:是用于將值添加到包含條目列表的鍵的運(yùn)算符。
  • SUBSYSTEM:匹配事件設(shè)備的子系統(tǒng)。
  • ACTION:匹配事件動(dòng)作的名稱。
  • ATTRS {idVendor}:匹配事件設(shè)備的sysfs屬性值,即設(shè)備廠商ID。
  • RUN:指定作為事件處理的一部分執(zhí)行的程序或腳本。

保存文件并關(guān)閉。

創(chuàng)建自動(dòng)備份腳本

現(xiàn)在創(chuàng)建一個(gè)自動(dòng)備份腳本,該腳本將把文件自動(dòng)備份到連到系統(tǒng)后的可移動(dòng)USB。

  1. $ sudo vim /bin/autobackup.sh 

現(xiàn)在,復(fù)制并粘貼以下腳本,確保替換腳本中BACKUP_SOURCE、ACKUP_DEVICE和MOUNT_POINT的值。

  1. #!/usr/bin/bash 
  2. BACKUP_SOURCE="/home/admin/important" 
  3. BACKUP_DEVICE="/dev/external1" 
  4. MOUNT_POINT="/mnt/external" 
  5.  
  6.  
  7. #check if mount point directory exists, if not create it 
  8. if [ ! -d “MOUNT_POINT” ] ; then  
  9.     /bin/mkdir  “$MOUNT_POINT”;  
  10. fi 
  11.  
  12. /bin/mount  -t  auto  “$BACKUP_DEVICE”  “$MOUNT_POINT” 
  13.  
  14. #run a differential backup of files 
  15. /usr/bin/rsync -auz "$MOUNT_POINT" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE" 
  16. exit 

然后使用以下命令使腳本可執(zhí)行。

  1. $ sudo chmod + x /bin/autobackup.sh 

接下來(lái),使用以下命令重新加載udev規(guī)則。

  1. $ udevadm control –reload 

下次連接外部硬盤或?yàn)橄到y(tǒng)配置的任何設(shè)備后,應(yīng)會(huì)將指定位置的所有文檔自動(dòng)備份到該設(shè)備上。

注意:這個(gè)方法多有效可能受到可移動(dòng)介質(zhì)上的文件系統(tǒng)和你編寫的udev規(guī)則的影響,尤其是捕獲設(shè)備屬性時(shí)。

原文標(biāo)題:How to Auto Backup Files to USB Media When Connected,作者:Aaron Kili

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO
相關(guān)推薦

2010-02-25 17:36:38

Linux USB

2011-05-04 09:29:22

2023-06-07 09:00:00

JavaScript開(kāi)發(fā)TypeScript

2022-11-25 16:27:07

應(yīng)用開(kāi)發(fā)鴻蒙

2020-11-18 09:29:06

NginxHTTPHTTPS

2015-09-07 17:45:04

升級(jí)UbuntuLinux

2023-11-11 19:07:23

SilverblueLinux

2025-02-17 08:00:00

機(jī)器學(xué)習(xí)開(kāi)發(fā)Docker

2015-03-18 10:29:01

私有云混合云云API

2020-11-10 08:00:00

機(jī)器學(xué)習(xí)技術(shù)科學(xué)

2022-04-06 11:33:43

Linux桌面GNOME 42

2018-01-08 09:09:46

機(jī)器學(xué)習(xí)模型NET

2009-04-14 09:24:40

OracleXML導(dǎo)出

2011-08-19 17:43:50

win7開(kāi)始菜單

2009-10-10 13:54:20

OPhone

2015-08-05 16:34:15

Ubuntu升級(jí)

2011-04-13 11:11:36

VC++托盤程序

2017-09-30 16:18:00

HTML5代碼對(duì)象

2020-03-10 22:01:54

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2021-11-15 10:20:50

Ubuntu22.04 LTS JLinux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)