在 Windows 后台运行 Linux 脚本

在 Windows 后台运行 Linux 脚本

我正在使用 Windows 机器上的以下脚本在 Linux 上运行并进行备份。

@ECHO off
:: run remote command
plink.exe username@myserver /home/username/do-backup.sh

该脚本的问题在于,我必须保持会话处于活动状态。由于备份需要 30 分钟左右,所以我想知道是否有任何方法可以运行该脚本,并且之后即使我关闭系统,备份命令仍能继续工作。或者您可以说我执行批处理文件,它会转到服务器,在服务器上执行脚本,然后返回,而备份脚本仍在服务器上继续运行。

答案1

我是

plink.exe username@myserver "echo /home/username/do-backup.sh | at now + 1 min"

这将告诉远程服务器在 1 分钟内启动脚本。

请注意,因为这是通过调度程序运行脚本,所以您可能需要确保脚本正确设置环境,它可能与通过交互式会话运行时的环境不完全相同。

答案2

如果你nohup在命令行中使用,即使会话结束,脚本仍将继续运行。因此,将命令更改为类似

plink.exe username@myserver nohup /home/username/do-backup.sh

應該做。

相关内容