I'm trying to create an upstart script to run a python script on startup. In theory it looks simple enough but I just can't seem to get it to work. I'm using a skeleton script I found here and altered.
description "Used to start python script as a service" author "Me <me@I.com.au>" # Stanzas # # Stanzas control when and how a process is started and stopped # See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn # When to start the service start on runlevel  # When to stop the service stop on runlevel  # Automatically restart process if crashed respawn # Essentially lets upstart know the process will detach itself to the background expect fork # Start the process script exec python /usr/local/scripts/script.py end script
The test script I want it to run is currently a simple python script that runs without any issue when run from a terminal.
#!/usr/bin/python2 import os, sys, time if __name__ == "__main__": for i in range (10000): message = "UpstartTest " , i , time.asctime() , " - Username: " , os.getenv("USERNAME") #print message time.sleep(60) out = open("/var/log/scripts/scriptlogfile", "a") print >> out, message out.close()
- The location/var/log/scripts has permissions 777
- The file /usr/local/scripts/script.py has permissions 775
- The upstart script /etc/init.d/pythonupstart.conf has permissions 755