centos7開機發(fā)送ip到郵箱
環(huán)境,本地的虛擬機(服務器上還沒試過)


1 創(chuàng)建python程序
新建文件夾 /home/centos7/Desktop/ipSend
新建iptest.py
新建emiltest.py
新建main.py
新建wenben.txt 內(nèi)容為空
2 添加程序為服務
用root用戶新建/usr/lib/systemd/system/ipSend.service(非root權限無法查看和修改此目錄內(nèi)內(nèi)容)
Description 一段注釋性文字
Type=idel 啟動類型,等其他服務完成再執(zhí)行此服務
ExecStart=啟動方式(python安裝目錄)?(python程序位置)
WantedBy=multi-user.target 默認的,不太懂
重新加載服務(不行就重啟一下)
systemctl daemon-reload
這里就可以看到創(chuàng)建的服務了
3 配置開機自啟服務

systemctl is-enabled ipSend 查看ipSend服務是否開機自啟
systemctl enable ipSend 設置ipSend服務開機自啟
開機后可以查看服務狀態(tài)


問題:程序開機時用python啟動,wenben.txt會成功寫入數(shù)據(jù)。但是在啟動時自動運行卻不會寫入文本,中間從文件讀取數(shù)據(jù)卻能讀取成功,就算最后沒有把文本數(shù)據(jù)清空,開機后文本內(nèi)容還是為空。就好像一直在內(nèi)存操作一樣,從沒真實寫入過文件。不懂,有沒有大佬解釋一下
參考:
Systemd 入門教程:實戰(zhàn)篇 - 阮一峰的網(wǎng)絡日志 (ruanyifeng.com)
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
在Linux把一個python程序當做自定義服務運行
https://blog.csdn.net/weixin_42261372/article/details/107544708