Saturday, April 27, 2024
 Popular · Latest · Hot · Upcoming
7
rated 0 times [  7] [ 0]  / answers: 1 / hits: 21325  / 1 Year ago, fri, december 9, 2022, 12:51:52

I am running ubuntu 11.10 in a virtual machine (VirtualBox) to learn more about development in linux. I am using a git repository to save my work and have written a script to bundle my work up and save it to the shared folder for use while the virtual machine is not running.



I would like to automatically run this script before shutdown so that my work is always available if the vm is off (currently I have to manually run the script).



I don't know if upstart is the best way to accomplish this, but this is the config that I wrote as a test:



description     "test script to run at shutdown"

start on runlevel [056]

task

script
touch /media/sf_LinuxEducation/start
sleep 15
touch /media/sf_LinuxEducation/start-long
end script

pre-start script
touch /media/sf_LinuxEducation/pre-start
sleep 15
touch /media/sf_LinuxEducation/pre-start-long
end script

post-start script
touch /media/sf_LinuxEducation/post-start
sleep 15
touch /media/sf_LinuxEducation/post-start-long
end script

pre-stop script
touch /media/sf_LinuxEducation/pre-stop
sleep 15
touch /media/sf_LinuxEducation/pre-stop-long
end script

post-stop script
touch /media/sf_LinuxEducation/post-stop
sleep 15
touch /media/sf_LinuxEducation/post-stop-long
end script


The result is that only one touch is accomplished (the first touch in pre-start).
What do I need to change to see one of the touches after the sleep to work?
Or Is there an easier way to get this accomplished?



Thanks in advance.


More From » shutdown

 Answers
7

The Upstart Intro, Cookbook and Best Practices has a great number of code snippets to use in creating upstart tasks and jobs.



The shutdown process section of the cookbook says that /etc/init/rc.conf will be run and call /etc/init.d/rc. In turn this will eventually call /etc/init.d/sendsigs. So if you start on starting rc then your task will be executed before rc (and the sigterms that would normally have the process shut down).



file: /etc/init/test.conf



description "test script to run at shutdown"

start on starting rc
task
exec /etc/init/test.sh


file: /etc/init/test.sh



touch /media/sf_LinuxEducation/start
sleep 15
touch /media/sf_LinuxEducation/start-long

[#42140] Sunday, December 11, 2022, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
allowiel

Total Points: 189
Total Questions: 103
Total Answers: 105

Location: Slovenia
Member since Thu, Mar 18, 2021
3 Years ago
;