在卸载 USB 设备之前运行 bash 脚本?

在卸载 USB 设备之前运行 bash 脚本?

是否可以在 Linux(我的情况是 Ubuntu)上配置系统在卸载 USB 密钥之前运行 bash 脚本?

我在一个 U 盘上有一个便携式个人 wiki,每次我从我的机器上卸载它时,我都希望它的内容能够自动备份到 Amazon S3。

有可能吗?每次卸载时运行脚本都没关系,因为我可以在脚本中轻松识别正在卸载的设备是否是我想要备份的设备。

提前感谢任何建议。

富有的

答案1

我不认为有通用的方法来运行脚本设备已卸载。

您可以在卸载设备后运行备份脚本,但这会非常麻烦 - 您必须重新安装设备,运行备份,再次卸载设备(无需重新触发脚本),最后安排通知用户可以拔下设备。

要在卸载之前运行脚本,请调用您自己的卸载脚本而不是/bin/umount。如果您想处理调用的 GUI(/bin/umount不管您是否需要),您可以转移umount可执行文件并将脚本放在其位置:

dpkg-divert --local --rename --divert /bin/umount.real /bin/umount

答案2

你可能可以使用udev但你可能希望你触发的进程在本地进行复制并退出,然后有一个单独的incron进程将上传到 Amazon S3,因为您不应该由触发长时间运行的进程udev

答案3

看一眼通知。应该可以捕获卸载事件并使用自定义脚本来处理该事件。

答案4

我能想到的最好方法是先编写一个脚本,先备份,然后卸载驱动器。每次都使用它,而不是纯粹的卸载。

相关内容