Учитывая, что папка Backup создана, вы знаете, что сценарий успешно выполняется, когда вы подключаете устройство. Я подозреваю, что сценарий выполняется до того, как устройство действительно завершит монтирование. Таким образом, файлы для cp
пока недоступны.
Что произойдет, если вы добавите sleep 5
после mkdir $ a
? Или что, если вы вместо этого попытаетесь скопировать существующие файлы?
Эта ссылка также очень полезна в качестве справочного материала.
Я также использую:
udevadm monitor --udev
Для просмотра событий udev в реальном времени.
udevadm test /path/to/dev
Чтобы смоделировать запуск события udev для устройства. Обратите внимание, что при этом не выполняется какая-либо программа, указанная клавишей RUN.
РЕДАКТИРОВАТЬ: Как любезно отмечает Жиль, моя идея не сработает. И я не знаю решения. Вот почему:
Udev сделает USB-устройство доступным для ОС. Затем ОС поймет, что ОС содержит монтируемую файловую систему, и смонтирует ее. В этот момент файлы на USB-устройстве действительно доступны.
Любой сценарий, запущенный правилом udev, выполнит до фактического монтирования файловой системы. Если я подумаю об альтернативе, я обновлю пост.