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
配置等方面进行排查和调整。