1

How should I specify the "start on" condition to run an upstart script when a device (an external disk) is attached?

Skarab
  • 243

1 Answers1

0

Yes. Have a read of man upstart-udev-bridge. Basically anything that can trigger a udev script can trigger an Upstart event. There's more in the Upstart Cookbook's Bridges section.

In your case, we're talking about a block device so here's an example from a StackOverflow post by deft_code:

#thumbdrive_special.conf
start on block-device-added

task

script
   if [ `blkid $DEV` -eq "YOUR-THUMBDRIVES-UUID" ]; then
      /home/you/bin/thumbdrive_special $DEV
   fi
end script

The other route is just using udev to trigger run a script when you plug something in. That could be anything, including running a upstart command.

Upstart has a mounted event but this only comes off the back of the booting mountall call. I don't think it's any use here.

Oli
  • 293,335
  • Is the event trigger if I attach a lopp device (losetup /dev/loop0 backedfile.raw)? – Skarab Sep 19 '13 at 21:54
  • I honestly don't know what events that would trigger. You could investigate with udevadm. – Oli Sep 20 '13 at 07:27