How to execute script on shutdown?

I want to execute script before I shutdown my machine that writes date to a file (so I do know what time I finish working).

How to do it?


Solution 1:

What you are looking for is an init script: take a look at the Upstart How to.

You basically need to place your script in /etc/init.d and create a link in /etc/rc?.d, where "?" is the runlevel you want to execute it.

The name of the link determines the order and when (start or shutdown) it's executed. Links beginning with K are run on shutdown, beginning with S on startup. You should put the shutdown scripts in /etc/rc0.d/, and the startup scripts in /etc/rc2.d/. Restart scripts should be placed in /etc/rc6.d.

You could also execute a script when X ends or gnome logs you out, but I think init scripts are the cleanest solutions.

If going with the first option Debian based systems like Ubuntu provide the command line tool update-rc.d to assist with installing /etc/rc?.d scripts.