Mac开机自启挂载WebDav
开机自动挂载WebDav
安装rclone
# 安装 rclone 和 macfuse
# brew install rclone无法使用从官网下载
curl https://downloads.rclone.org/rclone-current-osx-amd64.zip -o rclone.zip
unzip rclone.zip
cd rclone-*-osx-amd64
sudo cp rclone /usr/local/bin/
rclone version
#安装macfuse
brew install --cask macfuse
创建配置
# 创建配置
rclone config # 或手动编辑vi ~/.config/rclone/rclone.conf
创建配置时会要求输入webdav的url,用户名、密码。
[webdav]
type = webdav
url = https://your.webdav.server/path
vendor = other
user = your-username
pass = your-password(rclone obscure 密码获得)
手动挂载配置文件中的远程连接
手动测试挂载WebDav
#webdav对应上面配置文件中的[webdav]
rclone mount webdav: $HOME/WebDAVDrive \
--vfs-cache-mode minimal \
--dir-cache-time 1h \
--allow-other
需要启用内核扩展
挂载WebDav脚本
nano ~/mount-webdav.sh # 粘贴脚本内容
chmod +x ~/mount-webdav.sh
脚本内容如下
#!/bin/bash
MOUNT_POINT="$HOME/WebDAVDrive"
REMOTE_NAME="webdav"
# 检查挂载点是否存在,不存在则创建
[ ! -d "$MOUNT_POINT" ] && mkdir -p "$MOUNT_POINT"
# 检查是否已挂载
mount | grep "$MOUNT_POINT" > /dev/null
if [ $? -eq 0 ]; then
echo "$MOUNT_POINT is already mounted."
exit 0
fi
# 执行挂载
rclone mount "$REMOTE_NAME": "$MOUNT_POINT" \
--vfs-cache-mode minimal \
--allow-other \
--dir-cache-time 12h \
--poll-interval 1m \
--log-file "$HOME/rclone-webdav.log" \
--daemon
echo "WebDAV mounted to $MOUNT_POINT"
测试挂载
# 测试挂载
~/mount-webdav.sh
#卸载
umount ~/WebDAVDrive
开机自启
#进入到~/Library/LaunchAgents目录下面
cd ~/Library/LaunchAgents
#如果没有则新建
mkdir -p ~/Library/LaunchAgents
#新建 ~/Library/LaunchAgents/com.autumn.webdav.mount.plist并输入内容
cat <<EOF > ~/Library/LaunchAgents/com.autumn.webdav.mount.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.autumn.webdav.mount</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>$HOME/mount-webdav.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardOutPath</key>
<string>$HOME/mount-webdav.log</string>
<key>StandardErrorPath</key>
<string>$HOME/mount-webdav.err</string>
</dict>
</plist>
EOF
•RunAtLoad:表示开机或登录时自动运行。
•ProgramArguments:按数组形式写命令,每一段一个
•日志会写入 ~/mount-webdav.log 和 ~/mount-webdav.err。
注册开机启动任务
#加载 launchd 任务
launchctl load ~/Library/LaunchAgents/com.autumn.webdav.mount.plist
#禁用自启动
launchctl unload ~/Library/LaunchAgents/com.autumn.webdav.mount.plist
#查看是否生效
launchctl list | grep com.autumn.webdav.mount
设置通用里直接选择登录时打开
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~
