如何运行脚本(取决于互联网连接)

如何运行脚本(取决于互联网连接)

我经常使用 sshfs 挂载远程驱动器。我希望可以自动挂载。但是,如果我在 .bashrc 或启动脚本中挂载它,挂载通常会失败,因为我的无线互联网连接尚未建立。

是否有人知道每次建立连接时执行 bash 脚本或自动挂载 sshfs 驱动器的简单方法?

答案1

将您的脚本添加到/etc/network/if-up.d/。为您的脚本命名,不要使用“.sh”扩展名。

添加脚本后运行即可chmod +x /etc/network/if-up.d/yourscriptname获得必要的权限。

确保文件中提到了打开时应触发脚本的网络接口(例如 wlan0 或 eth0)/etc/network/interfaces

答案2

编者注:Cuttlefish 自 2012 年以来一直没有更新,并且不在任何当前的 Ubuntu 存储库中

Ubuntu 12.04

  • 安装乌贼:一个简单的工具,当特定事件触发时,通过执行操作来实现计算机上的反射。
  • 打开 Cuttlefish 并点击New

    步骤1

    • 给它起个名字并改变刺激激活选项为 ON。
    • 点击刺激,选择类别网络并输入连接到 WLAN. 单击确定。

    第2步

    • 您还可以选择无线网络的 SSID,并且可以选择是否在启动时检查它。

    步骤3

    • 现在你必须指定一个反应。转到反应选项卡,然后单击“添加”。选择应用来自类别和启动应用程序(高级模式)从类型。

    步骤4

    • 现在在可执行选项中指定您想要运行的脚本。您甚至可以将参数传递给脚本。

    步骤5

    • 就这样!另外,请确保在启动应用程序中添加了 Cuttlefish。转到编辑 > 首选项并启用自动启动选项。

    步骤6

答案3

我将回答 OP 问题的这一部分:“我希望自动拥有这个坐骑”

我最喜欢的自动挂载网络共享工具是 autofs: https://help.ubuntu.com/community/Autofs

AutoFS 是我选择用来安装 NAS 的工具 - 适用于我的所有笔记本电脑和工作站。

autofs 是一个根据需要自动挂载目录的程序。自动挂载仅在访问时挂载,并在一段时间不活动后卸载。​​因此,与通过 fstab 进行静态挂载相比,自动挂载 NFS/Samba 共享可节省带宽并提供更好的整体性能。

答案4

systemd似乎现在已经接管了网络。

$ networkctl
WARNING: systemd-networkd is not running, output will be incomplete.

IDX LINK             TYPE               OPERATIONAL SETUP
  1 lo               loopback           n/a         unmanaged
  2 enp0s25          ether              n/a         unmanaged
  3 wlo1             wlan               n/a         unmanaged

3 links listed.

它还具有与接口相对应的单元

$ systemctl list-units |grep wlo1
sys-devices-pci0000:00-0000:00:1c.3-0000:24:00.0-net-wlo1.device                                                        loaded active plugged   Centrino Ultimate-N 6300 (3x3 AGN)
sys-subsystem-net-devices-wlo1.device                                                                                   loaded active plugged   Centrino Ultimate-N 6300 (3x3 AGN)

显然,您可以在服务单元文件中使用这些。因此,只需创建一个服务单元来运行您的脚本,并在其中使用类似的东西使其在网络上有条件地运行:

BindsTo=sys-subsystem-net-devices-wlo1.device
After=sys-subsystem-net-devices-wlo1.device

祝你好运!我还没有测试过,所以“你的里程可能会有所不同”。

资料来源:

相关内容