用于保持 gvfs 上 FTP/SFTP 会话活动的脚本

用于保持 gvfs 上 FTP/SFTP 会话活动的脚本

我希望在使用文件浏览器 (PCmanfm) 时,FTP/SFTP 会话保持活动状态。有一些 bash 脚本可以实现此目标。

#!/bin/bash

# Ubuntu closes FTP connections after a few idle minutes
# This script keeps all mounted FTP connections alive

while true 
do
 ls ~/.gvfs/FTP* &> /dev/null
 sleep 60
done

所以我让这个脚本可执行

sudo chmod +x /home/username/.config/gvfs-keep-alive

然后我将其添加到 rc.local 文件中。

#!/bin/sh -e
#
# rc.local
#
/home/username/.config/gvfs-keep-alive
exit 0

但是它在重启期间阻止了我的计算机,我必须进入恢复模式从 rc.local 中删除该行并再次重启。

  • 这个脚本正确吗?
  • 如果是,我应该把它放在哪里才能使保持活动过程正常运行?

谢谢

答案1

该脚本在某种程度上是正确的。但是,它包含一个无限循环,并且永远不会退出。

当 ubuntu 启动时,它会从 rc.local 调用该脚本,并且由于它从未退出,rc.local 永远不会完成,计算机也永远不会完成启动。

假设您希望每分钟执行一次该命令,那么您只需在 /etc/crontab 中创建一个条目,如下所示:

* * * * *   username    ls /home/username/.gvfs/FTP* >/dev/null

根据个人喜好,您还可以创建一个 systemd 服务来执行此操作。

相关内容