我正在使用以下脚本从我的Windows机器上运行在Linux上,并做备份。
@ECHO off :: run remote command plink.exe username@myserver /home/username/do-backup.sh
这个脚本的问题是,我必须保持我的会话生活。 作为备份需要30分钟左右,所以我想知道是否有任何方法我运行这个脚本,然后备份命令继续工作,即使我closures我的系统。 或者你可以说我执行我的batch file到服务器,执行服务器上的脚本,然后回来,而备份脚本一直运行在服务器上。
我是一个粉丝,
plink.exe username@myserver "echo /home/username/do-backup.sh | at now + 1 min"
这将告诉远程服务器在1分钟内启动脚本。
请注意,因为这是通过调度程序运行脚本,所以您可能需要确保脚本正确设置环境,它可能与通过交互式会话运行时环境不完全相同。
如果在命令行中使用nohup ,即使会话结束,脚本仍将继续运行。 所以,改变你的命令就像
plink.exe username@myserver nohup /home/username/do-backup.sh
应该这样做。