[.com快译]备份是防止数据丢失的最后一道防线,它提供了一种恢复原始数据的方法。您可以使用可移动媒体(例如外部硬盘驱动器和USB闪存驱动器)、共享网络文件夹或远程主机来备份数据。自动备份重要文件既简单又重要,而无需记住这样做。本文介绍如何在连接到Linux机器后自动将数据备份到可移动媒体。我们将使用外部磁盘进行测试。本基本指南可帮助您开始使用udev来获得实用的解决方案。出于本文的目的,我们需要一个安装了以下组件的现代Linux系统:systemd系统和服务管理器udev设备管理器rsync备份工具如何为可移动媒体配置Udev规则?Udev是一个设备管理器,允许您定义规则,当设备添加到正在运行的系统或从中删除时,这些规则可以触发程序或脚本的执行作为设备事件处理的一部分。我们可以利用此功能在将可移动媒体添加到正在运行的系统后执行备份脚本。在配置设备事件处理的实际规则之前,我们需要向udev提供将用于备份的可移动媒体的一些属性。将外部磁盘连接到正在运行的系统并运行以下lsusb命令以识别其供应商和产品ID。出于测试目的,我们将使用如图所示的1TB外置硬盘。$lsusb图1.查找可移动媒体的设备供应商ID从上述命令的输出中可以看出,设备供应商ID为125f,我们将在udev规则中指定它,如下所述。首先从系统中删除连接的媒体,并在目录/etc/udev/rules.d/下新建一个名为10.autobackup.rules的udev规则文件。文件名中的10指定规则执行的顺序。解析规则的顺序很重要;您应该始终创建要在默认规则之前解析的自定义规则。$sudovim/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。$sudovim/bin/autobackup.sh现在,复制并粘贴以下脚本,确保替换脚本中BACKUP_SOURCE、ACKUP_DEVICE和MOUNT_POINT的值。#!/usr/bin/bashBACKUP_SOURCE="/home/admin/important"BACKUP_DEVICE="/dev/external1"MOUNT_POINT="/mnt/external"#checkifmountpointdirectoryexists,ifnotcreateitif[!-d“MOUNT_POINT”];then/bin/mkdir"$MOUNT_POINT";fi/bin/mount-tauto"$BACKUP_DEVICE""$MOUNT_POINT"#runadiferentialbackupofffiles/usr/bin/rsync-auz"$MOUNT_POINT""$BACKUP_SOURCE"&&/bin/umount"$BACKUP_DEVICE"exit然后使脚本可执行以下命令。$sudochmod+x/bin/autobackup.sh接下来,使用以下命令重新加载udev规则。$udevadmcontrol--reload下次连接外部硬盘驱动器或为系统配置的任何设备时,它应该自动将指定位置的所有文件备份到该设备。注意:此方法的有效性可能受可移动媒体上的文件系统和您编写的udev规则的影响,尤其是在捕获设备属性时。原标题:连接后如何自动备份文件到USB媒体,作者:AaronKili
