systemd는 특정 USB 장치를 자동으로 마운트한 다음 백업 스크립트를 실행합니다.

systemd는 특정 USB 장치를 자동으로 마운트한 다음 백업 스크립트를 실행합니다.

특히 백업을 수행하려면 특정 USB 스틱을 장착한 후 스크립트를 실행해야 합니다.

udev 규칙 내에서 장치를 마운트하는 것에 대한 많은 (그리고 오래된) 게시물을 보았지만 최신 운영 체제는 플래시 드라이브를 자동으로 마운트하도록 시스템이 미리 구성되어 있습니다.

나는이 udev 규칙을 가지고 있습니다.

ACTION=="add", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="000c", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem", RUN+="/home/me/scripts/backup-x.sh"

왜냐하면 이것이 장치가 연결된 후에 특별히 무언가를 실행할 수 있는 유일한 Linux 커널 후크이기 때문입니다.

그러나 장치가 systemd에 의해 자동으로 마운트되는 경우, 즉. 연결 후 오른쪽 /media/me/0021-0000:

Sep 27 12:32:00 t14 udisksd[1272]: Mounted /dev/sda at /media/me/0021-0000 on behalf of uid 1000

udev RUN 스크립트에 설치하면 안 될 것 같아요(백업과 같은 긴 작업을 수행하는 경우에도). RUN 스크립트에서 이것을 시도했습니다.

systemd-mount --owner me $DEVNAME /mnt/x
zip /home/me/x/backup-$(date +'%Y-%m-%d_%H%M%S').zip /mnt/x/*

그러나 2개의 다른 마운트가 생성됩니다. 내 것이 먼저 발생한 다음 auto 입니다 /media/me/0021-0000. 이것이 좋은 생각인지 궁금합니다.

이를 달성하는 가장 간단하고 올바른 방법은 무엇입니까?

PD: 런닝팝!_OS 22.04LTS

관련 정보