AI摘要

本文介绍了如何在Linux系统中使用rclone进行开机自动挂载。首先,需要安装fuse工具,然后创建并编辑systemd服务文件,配置服务的启动、停止和重启行为。接着,重载systemd守护进程,启动服务,并设置开机自启。最后,检查服务状态以确保正常运行。

注意要安装 fusermount ​工具

Debian/Ubuntu 系统

sudo apt-get install fuse

安装完成后,一般情况下就可以找到 fusermount​ 命令了,然后重新执行 rclone mount​ 命令进行挂载。

CentOS/RHEL 系统

sudo yum install fuse

1. 创建并编辑 systemd​ 服务文件

使用文本编辑器(如 nano​)创建一个新的 .service​ 文件,路径为 /etc/systemd/system/rclone-123pan.service​:

sudo vim /etc/systemd/system/rclone-alist.service

在文件中输入以下内容:

[Unit]
Description=Rclone mount for alist
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount alist: /alist --allow-other --vfs-cache-mode full
ExecStop=/usr/bin/fusermount -uz /alist
Restart=always
User=root

[Install]
WantedBy=multi-user.target

需要先创建挂载目录

上述配置文件各部分说明:

  • [Unit]部分

    • Description​ 是对服务的描述,方便识别。
    • After=network-online.target​ 表示该服务在网络连接建立后启动。
    • Wants=network-online.target​ 表明该服务希望 network-online.target​ 被激活,当网络服务启动失败时,此服务也可能不会启动。
  • [Service]部分

    • Type=simple​ 指定服务类型为简单类型。
    • ExecStartPre​ 用于在执行 ExecStart​ 命令前先执行的操作,这里设置了 10 秒的延迟,以应对可能的网络延迟问题。
    • ExecStart​ 是核心的启动命令,执行 rclone​ 挂载操作,注意要确保 rclone​ 命令路径正确以及挂载参数符合需求。
    • ExecStop​ 是停止服务时执行的命令,用于卸载挂载点。
    • Restart=always​ 表示服务意外停止时自动重启。
    • User​ 指定运行服务的用户,需替换为你自己的用户名,以保证该用户对挂载点等有合适的操作权限。
  • [Install]部分WantedBy=multi-user.target​ 意味着当系统进入多用户模式时会启动该服务。

2. 保存并退出编辑器

3. 重载 systemd​ 守护进程

使新创建的服务文件生效:

sudo systemctl daemon-reload

4. 启动服务

手动启动刚刚创建的服务:

sudo systemctl start rclone-alist

5. 设置开机自启

让服务在系统开机时自动启动:

sudo systemctl enable rclone-alist

6. 检查服务状态

使用以下命令查看服务是否正常运行:

sudo systemctl status rclone-alist

如果服务启动仍然有问题,可以参考之前提到的挂载点、rclone​ 命令路径、网络连接、rclone​ 配置等方面进行排查和调整。

END
本文作者:
文章标题:rclone开机自动挂载
本文地址:https://oini.de/archives/45.html
版权说明:若无注明,本文皆LJZの博客原创,转载请保留文章出处。
最后修改:2025 年 05 月 03 日
如果觉得我的文章对你有用,请随意赞赏