Observium SMS sender - remote version
This commit is contained in:
parent
0a97ea78ce
commit
30dd3f9f3b
1 changed files with 35 additions and 0 deletions
35
observium_sms_remote.py
Executable file
35
observium_sms_remote.py
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import logging
|
||||
import time
|
||||
import os
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from observium_sms import assemble_sms
|
||||
import sms_functions
|
||||
|
||||
def main():
|
||||
# Setup logging
|
||||
sms_msg = assemble_sms()
|
||||
hostname = sys.argv[1]
|
||||
sms_number = sys.argv[2]
|
||||
|
||||
success = False
|
||||
retries = 0
|
||||
max_retries = 3
|
||||
|
||||
while not success and retries < max_retries:
|
||||
retries += 1
|
||||
try:
|
||||
# Escape message and number for remote shell
|
||||
sms_msg = shlex.quote(sms_msg)
|
||||
sms_number = shlex.quote(sms_number)
|
||||
# Contact remote host
|
||||
subprocess.run([ '/usr/bin/ssh', hostname, '/opt/sms/send_sms.py', sms_msg, sms_number ], check=True)
|
||||
except:
|
||||
raise
|
||||
else:
|
||||
success = True
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue