Let say you need to run a command (which you use frequently) on your headless Linux box, such as, copying files, start/stop services, reboot, etc. However too lazy to go to the physical machine or open a ssh command from another pc.
Would it be nice if we have a web application that can easily be accessed through a web browser (even from a mobile web browser), to execute those commands. All we have to to is type the url (http://my-server-ip-address:myportnumber), and click on a link.
All these could easily be achieved using very simple service using Python.
1. Create a simple Python script. The Python script will be using WSGI to serve HTTP request/response.
vi mypythonscript.py
2. A sample of the Python script below:
import os
from cgi import parse_qs, escape
def hello_world(environ, start_response):
parameters = parse_qs(environ.get('QUERY_STRING', ''))
if 'type' in parameters:
mycommand = escape(parameters['command'][0])
else:
mycommand = ''
start_response('200 OK', [('Content-Type', 'text/html')])
if mycommand == 'copyfile1':
#your linux command here. Example below
os.system('cp myfile1.txt mynewfile.txt')
elif mycommand == 'copyfile2':
os.system('cp myfile2.txt mynewfile.txt')
return ['''Command to execute: %(mycommand)s
<a href='?command=copyfile1'>Copy file 1</a>
<a href='?command=copyfile2'>Copy file 2</a>
''' % {'mycommand': mycommand}]
if __name__ == '__main__':
from wsgiref.simple_server import make_server
#put your own server ip address and port here
srv = make_server('127.0.0.1',81, hello_world)
srv.serve_forever()
3. Make the Python script run on every startup. Create a bash script for this:
vi myserver
4. Here’s the script for the bash file:
#! /bin/sh
# /etc/init.d/myserver
#
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting myserver "
python /home/username/mypythonscript.py&
echo "[OK]"
;;
stop)
echo "Stopping myserver "
kill -9 `pidof python`
echo "[OK]"
;;
*)
echo "Usage: /etc/init.d/myserver {start|stop}"
exit 1
;;
esac
exit 0
5. make the bash script executable.
chmod +x myserver
6. copy myserver script to /etc/init.d
sudo cp /wherever/you/saved/myserver /etc/init.d/myserver
7. update the startup folders to include the new script.
sudo update-rc.d myserver defaults
8. To test your Python web app, open a web browser, and type:
http://my-server-ip-address:81
situs gacor
situs slot gacor
situs gacor
monperatoto
toto slot
rtp slot
kampungbet
situs toto
situs slot
toto slot
toto slot
toto slot
toto slot
rtp slot
kampungbet
slot gacor
toto slot
toto slot
toto slot
situs toto
pragmatic casino
rtp slot
situs slot gacor