そのため、多数のファイルの変更時間を監視しています。ファイルが更新されたら、ssh 経由で別のマシンにコピーします。ここに私が持っているもののSSCCEがあります:
import os
import time
send = "/home/pi/PythonScripts/tempData.txt"
check = "/home/pi/PythonScripts/check.txt"
statbuf = os.stat(send)
print "Modification time:",statbuf.st_mtime
def wr2(data):
file2 = open(check, 'w')
file2.write(str(data))
file2.close()
return 0
def rd():
file = open(send, 'r')
line2 = file.readline()
file.close()
return line2
def rd2():
file2 = open(check, 'r')
line2 = file2.readline()
file2.close()
return line2
while(run):
try:
statbuf = os.stat(send)
line2 = rd2()
print line2
if (str(statbuf.st_mtime) == line2):
print "File has not changed...\n"
time.sleep(1)
else:
data = rd()
print "Data in File: " + data
os.system("sudo scp /home/pix/PythonScripts/tempData.txt server1:/home/tix/Server1_SSH/Real_Data.txt")
wr2(statbuf.st_mtime)
print "New Modification Time:",statbuf.st_mtime
time.sleep(1)
except (KeyboardInterrupt, SystemExit):
print '\nKeyboard Interrupt Caught!'
run = 0
raise
したがって、os.system()
コマンドに到達すると、何もせずにハングします...ただし、Pythonインタープリターでまったく同じコードを実行すると、問題なく動作します。問題が何であるかを理解できないようです...どんな助けも素晴らしいでしょう!