注意事项:上传时可能也会有一些请求,要注意费用飙升!
1. 安装 rclone
下载并安装rclone
curl https://rclone.org/install.sh | bash
rclone version #查看版本
2. 配置七牛云存储桶
2.1 创建 rclone 配置文件
mkdir -p /root/.config/rclone
vi /root/.config/rclone/rclone.conf
粘贴以下配置(替换
access_key_id
和 secret_access_key
):
[qiniu]
type = s3
provider = Qiniu
access_key_id = PJvF5xiXF6JTtvIZsuIRojd***
secret_access_key = fuH_NRndnhJYRdHb*******
region = cn-east-1
endpoint = s3-cn-east-1.qiniucs.com
storage_class = STANDARD
2.2 测试连接
rclone lsd qiniu:hx99-blog # 查看存储桶内容
rclone ls qiniu:hx99-blog #查看文件, 如果成功列出目录或文件,说明配置正确。

3. 挂载存储桶到本地目录
3.1 安装 FUSE(文件系统依赖)
sudo yum install fuse fuse3 -y
3.2 创建挂载目录
sudo mkdir -p /opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static
sudo chown -R $(whoami):$(whoami) /opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static
3.3 挂载存储桶到非空目录
rclone mount qiniu:hx99-blog /opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static \
--allow-other \
--allow-non-empty \
--vfs-cache-mode full \
--daemon
3.4 验证挂载
df -h | grep public_static # 检查挂载
ls /opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static # 查看合并后的文件

4. 实时双向同步方案
4.1 使用 rclone sync
手动同步
# 本地 → 七牛云
rclone sync /opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static qiniu:hx99-blog -v
# 七牛云 → 本地
rclone sync qiniu:hx99-blog /opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static -v
4.2 自动同步(脚本)
# 安装 inotify-tools
yum install -y epel-release
yum clean all && yum makecache
yum install -y git inotify-tools
# 创建同步脚本
cat > /root/sync_qiniu.sh <<'EOF'
#!/bin/bash
LOCAL_DIR="/opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static"
REMOTE="qiniu:hx99-blog"
LAST_SYNC=0
while true; do
# 监控本地变化 → 同步到远程
echo "$(date) - 等待本地文件变更..."
inotifywait -r -e modify,create,delete,move "$LOCAL_DIR"
echo "$(date) - 检测到本地变更,同步到云端..."
rclone sync "$LOCAL_DIR" "$REMOTE" -v
# 每60秒强制检查一次远程变更(即使本地无变化)
NOW=$(date +%s)
if [ $(($NOW - $LAST_SYNC)) -ge 60 ]; then
echo "$(date) - 定期检查云端变更..."
rclone sync "$REMOTE" "$LOCAL_DIR" -v
LAST_SYNC=$NOW
fi
sleep 1
done
EOF
# 执行脚本
chmod +x /root/sync_qiniu.sh
4.3 自动同步(Systemd 服务)
sudo tee /etc/systemd/system/rclone-sync.service > /dev/null <<'EOF'
[Unit]
Description=RClone Sync Service (Local → Qiniu)
After=network.target
[Service]
Type=simple
User=root
ExecStart=/bin/bash /root/sync_qiniu.sh
Restart=always
RestartSec=10
StandardOutput=append:/var/log/rclone-sync.log
StandardError=append:/var/log/rclone-sync-error.log
[Install]
WantedBy=multi-user.target
EOF
4.4 启动并启用服务
sudo systemctl daemon-reload
sudo systemctl restart rclone-sync
sudo systemctl enable rclone-sync
4.5 开机自动挂载(Systemd 服务)
sudo tee /etc/systemd/system/rclone-mount.service <<EOF
[Unit]
Description=rclone mount for Qiniu Cloud
After=network.target
[Service]
User=root
ExecStart=/usr/bin/rclone mount qiniu:hx99-blog /opt/1panel/apps/wordpress/MyBlog-wordpress/data/public_static \
--allow-other \
--allow-non-empty \
--vfs-cache-mode full \
--s3-acl=private
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start rclone-mount
sudo systemctl enable rclone-mount
4.6 日志查看
tail -f /var/log/rclone-sync.log
journalctl -u rclone-sync -f