AI摘要
本文介绍了如何在Linux系统中使用rclone进行开机自动挂载。首先,需要安装fuse工具,然后创建并编辑systemd服务文件,配置服务的启动、停止和重启行为。接着,重载systemd守护进程,启动服务,并设置开机自启。最后,检查服务状态以确保正常运行。
注意要安装 fusermount 工具
Debian/Ubuntu 系统
sudo apt-get install fuse安装完成后,一般情况下就可以找到 fusermount 命令了,然后重新执行 rclone mount 命令进行挂载。
CentOS/RHEL 系统
sudo yum install fuse1. 创建并编辑 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-reload4. 启动服务
手动启动刚刚创建的服务:
sudo systemctl start rclone-alist5. 设置开机自启
让服务在系统开机时自动启动:
sudo systemctl enable rclone-alist6. 检查服务状态
使用以下命令查看服务是否正常运行:
sudo systemctl status rclone-alist如果服务启动仍然有问题,可以参考之前提到的挂载点、rclone 命令路径、网络连接、rclone 配置等方面进行排查和调整。