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


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:

start on block-device-added


   if [ `blkid $DEV` -eq "YOUR-THUMBDRIVES-UUID" ]; then
      /home/you/bin/thumbdrive_special $DEV
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.

  • 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 7:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.