[英]python ssh/rsync hang when run as windows service
我有一个脚本,应该使用rsync将文件从Linux盒中拉到Windows盒中。 我将其设计为Windows服务,这一点似乎正常工作。 rsync和ssh可执行文件启动,连接到Linux计算机,使用密钥进行身份验证,但不复制任何文件。 这是脚本的核心,不包括大多数Windows服务内容。
import subprocess
RSYNCPULL = '''"C:\\Program Files\\cwRsync\\bin\\rsync.exe" --remove-source-files
--no-motd -e "\'C:\\Program Files\\cwRsync\\bin\\ssh.exe\'"
user@IP:/var/log/* /cygdrive/c/logs/'''
class LogCopy( win32serviceutil.ServiceFramework ):
#various functions for starting/stopping the service
def sleep( self, sec ):
win32api.Sleep( sec*1000, True )
def start( self ):
self.runflag = True
while self.runflag:
subprocess.call( RSYNCPULL )
self.sleep( 10 )
if __name__ == "__main__":
qin32serviceutil.HandleCommandLine( LogCopy )
Windows外壳程序可能会解释“ *”字符并进行扩展。 尝试之一:
找出是什么。 我正在将任务作为系统运行。 我在管理员帐户下设置了ssh密钥,但没有系统。 因此ssh挂在提示符下以保存密钥。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.