自制百度网盘下载器
每天手动下载觉得很麻烦,后来想用树梅派+BaiduPCS搞一个自动下载器,定时下载网盘内容到移动硬盘上,实现云盘到移动硬盘的自动同步。BaiduPCS-Go用Go语言编写,操作类似于Linux,如果会linux使用起来非常得心应手,操作基本相仿。下面记录一下遇到的各种坑。
树梅派无法ssh
在window 用ssh + wpa_supplicant.conf 配置方式失效,一直扫不到ip。没有显示器的树梅派真的很难用Orz,最后实在没辙,接了根网线插到交换机上,使用 Nmap - Zenmap GUI扫描,最终拿到ip这边附上Nmap软件链接软件
扫描指令
1 |
|
如果扫描到会有类似下面的信息
Nmap scan report for 192.168.0.183Host is up (0.0080s latency).MAC Address: B8:27:EB:DB:97:E7 (
Raspberry Pi
Foundation)
这边把参考的博客记录一下https://blog.csdn.net/wongnoubo/article/details/79628313
另外除了Nmap扫描意外,在手机端下载Fing也可以完成扫描。后续配合Termius可以实现手机端的远程ssh!
Permission denied
SSH连接respberry以后,需要将硬盘挂在到树梅派上,下载的时候直接指定到硬盘目录。按照常规挂载好硬盘,结果在往硬盘写数据时遇到Permission denied的错误,后才发现是因为挂载方式不恰当,使用下面的方法就OK了:
1 |
|
因为没有安装ntfs-3g的驱动也报错了,装上驱动解决问题:
1 |
|
https://blog.csdn.net/lovelovelovelovelo/article/details/53862819
https://unix.stackexchange.com/questions/195828/permission-denied-on-mounted-devices
文件分隔符
思路:使用BaiduPCS指令读取百度网盘内容,然后逐一判断内容在磁盘中是否存在,如果不存在下载。但是没有想到的是网盘中的内容可能中间带着空格, 这样我在shell脚本那里面遇到了处理空格的难题,像同济大学 线性代数第一讲.mp4
本来是要下载同济大学 线性代数第一讲.mp4
,结果下载成了同济大学
。在网上也搜了一些资料,有一些网友提供了利用IFS处理文件名中的空格,但是没成功,在linux处理空格不是我的强项,下面贴出来我写的shell,希望各为linux大牛能帮我出个好主意!
1 |
|
上面的套路不行,后来我发现用BaiduPSC d *
这个命令会下载盘内所有数据,如果检测到本地磁盘已经存在,就会自动跳过。下面提供一下BaiduPSC相关API链接https://github.com/iikira/BaiduPCS-Go
日志管理
将日志重定向到myout.file文件中,方便后续查看
1 |
|