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

1 Answer 1


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, 2013 at 21:54
  • I honestly don't know what events that would trigger. You could investigate with udevadm.
    – Oli
    Sep 20, 2013 at 7:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .