Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. import sys,os
  2. if len(sys.argv) == 1:
  3. raise Exception('missing command')
  4.  
  5. parsedname = None
  6. enablelog = False
  7. argv = sys.argv
  8. if len(argv) >= 2:
  9. if '/etc/service' in argv[1] or 'runit-service' in argv[1]:
  10. parsedname = argv[1]
  11. argv = argv[2:]
  12. else:
  13. if 'withlog' == argv[1]:
  14. enablelog = True
  15. argv = argv[2:]
  16.  
  17. if argv and 'withlog' == argv[0]:
  18. if not parsedname:
  19. raise Exception('cant enable log')
  20. else:
  21. enablelog = True
  22. argv = argv[1:]
  23.  
  24. if not argv:
  25. raise Exception("no command?")
  26.  
  27. prefix = '#!/bin/sh\nexec 2>&1'
  28. cmd = ' '.join(argv)
  29. if parsedname:
  30. print('mkdir -p %s' % parsedname)
  31. print('cat > %s/run << EOF' % parsedname)
  32. print(prefix)
  33. print('exec %s' % cmd)
  34. print('EOF')
  35. print('chmod +x %s/run' % parsedname)
  36.  
  37. if enablelog:
  38. print('mkdir -p %s/log' % parsedname)
  39. print('cat > %s/log/run << EOF' % parsedname)
  40. print('#!/bin/sh')
  41. print('LOGPATH=%s/logfile' % parsedname) # Note: edit path if required
  42. print('mkdir -p \$LOGPATH')
  43. print('# chown syslog \$LOGPATH')
  44. print('# Note: may use chpst -u syslog')
  45. print('exec /usr/bin/svlogd -tt \$LOGPATH')
  46. print('EOF')
  47. print('chmod +x %s/log/run' % parsedname)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement