각 컴퓨터의 IP 주소를 보내려면 mail.py (webpy 사용)이라고 적습니다.는 스크립트에서는 성공했지만 rc.local에서는 실패합니다.
#!/usr/bin/env python
#coding=utf-8
import web
def send_mail(send_to, subject, body, cc=None, bcc=None):
try:
web.config.smtp_server = 'xxxxx'
web.config.smtp_port = 25
web.config.smtp_username = 'xxx'
web.config.smtp_password = 'xxx'
web.config.smtp_starttls = True
send_from = 'xxx'
web.sendmail(send_from, send_to, subject, body, cc=cc, bcc=bcc)
return 1 #pass
except Exception, e:
print e
return -1 #fail
if __name__=='__main__':
print "in mail.py"
f=file('/home/spark/Desktop/ip.log')
f1=f.read()
f.close()
send_to = ['xxxx']
subject = 'xxxx'
body = 'ip:',f1
send_mail(send_to, subject, body)
rc.local에
bash deploy.sh &
exit 0
deploy.sh
#!/usr/bin/env
cd /home/spark/Desktop
python mail.py >>deploy.log
echo "-----------------------------------------------------------"
내가 '파이썬 mail.py'.But을 할 경우 내가 rc.local 파일에 넣을 때 이메일을받을 수 있습니다 , 전자 메일, deploy.log 출력의 메시지를받을 수 없습니다. [Errno -2] 이름 또는 서비스를 알 수 없습니다.
나는이 출력에 당황 스럽다.
도메인 이름 대신 ip 주소로 web.config.smtp_server가 변경되어 작동했습니다. rc.local 프로세스 중에는 일부 구성 및 서비스를 사용할 수 없으므로 오류라고 생각합니다. 유용한 링크는 [sendmail] (https://wiki.list.org/DOC/Mail%20delivery%20fails%20with%20%22 (-2, % 20'Name % 20or % 20service % 20not % 20known ') % 22입니다. , % 20aka % 20I % 20am % 20not % 20 수신 % 20any % 20notification % 20messages % 20from % 20Mail) [알 수없는 서비스] (http://stackoverflow.com/questions/23777121/why-am-i-getting-socket- gaierror-errno-2-python-httplib) – makeapp
[트릭을 디버그 rc.local] (http://stackoverflow.com/questions/7783341/run-script-with-rc-local-script-works-but- 부팅시 사용하지 않음) – makeapp