3

我正在尝试使用 systemd 在 USB 密钥(NTFS 格式,但我认为没关系)上自动执行 mount/rsync/umount。我的目标是在插入时复制我的密钥上给定文件夹的内容,然后将其卸载,以便我可以正确拔下它。

我几乎可以得到我想要的,但卸载部分似乎比我最初预期的要棘手。

这是我当前的配置:

我在 /etc/systemd/system/ 中创建了两个文件:syncUSB_NTFS.service 和 media-USB_NTFS.mount。

猫同步USB_NTFS.service:

[Unit]
Description=Synchronisation USB_NTFS
After=media-USB_NTFS.mount
BindsTo=media-USB_NTFS.mount

[Service]
ExecStart=/usr/bin/rsync -r /mnt/Espace/USB/ /media/USB_NTFS/

[Install]
WantedBy=media-USB_NTFS.mount

猫媒体-USB_NTFS.mount :

[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
;StopWhenUnneeded=true

[Mount]
What=/dev/disk/by-uuid/AC385D2D385CF7B2
Where=/media/USB_NTFS

问题是:USB 密钥挂载,复制但不卸载。它试图在我的 rsync 指令之后添加一个“; umount /media/USB_NTFS”,但它不起作用。当我取消注释“StopWhenUnneeded=true”时,当我重新插入它时,它不会重新安装密钥。

我知道问题显然是我对 systemd 的理解不足......有人可以启发我吗?

PS:我的第一次尝试是将 lsyncd --nodaemon 与配置文件 (+"StopWhenUnneeded=true") 一起使用,这也有效,但我在 umount 时遇到了同样的问题。这里有什么解决办法吗?

[Unit]
Description=Synchronisation USB_NTFS
After=media-USB_NTFS.mount
BindsTo=media-USB_NTFS.mount

[Service]
ExecStart=/usr/bin/lsyncd --nodaemon /etc/lsyncd/lsyncd-usb.conf.lua
User=xxxx
Group=users

[Install]
WantedBy=media-USB_NTFS.mount

在此先感谢您的帮助!

4

0 回答 0