我正在尝试使用systemd在USB密钥(NTFS格式化但我认为无关紧要)上自动执行mount / rsync / umount。我的目标是在插入时复制我的密钥上给定文件夹的内容,然后将其卸载以便我可以正确拔掉它。
我几乎可以得到我想要的东西,但卸载部分似乎比我最初的预期更棘手。
这是我目前的配置:
我在/ etc / systemd / system /中创建了两个文件:syncUSB_NTFS.service和media-USB_NTFS.mount。
cat syncUSB_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
cat media-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
提前感谢您的帮助!