【注意】最后更新于 July 2, 2018,文中内容可能已过时,请谨慎使用。
文件批量使用 zip 打包并上传 百度网盘备份。
脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/bin/bash
# author: [email protected]
# version: 2.0
#------settings--------#
# 密码
password='[email protected]'
# 标识
pass="locked"
# 百度网盘路径
uplaodPath="/zip/path/"
# 获取但前脚本的绝对路径
ROOT_PATH="$(dirname "$(readlink -f "$0")")"
#--------zip and upload-----------#
# 压缩与上传文件列表,不递归子目录
zip_file_list=$(find "$ROOT_PATH" -maxdepth 1 -iname "*my.file")
# 设置 IFS,防止路径中有空格
IFS_OLD=$IFS
IFS=$'\n'
# 循环
for filename in $zip_file_list
do
zipPath=${filename%.*}_${pass}.zip # zip 路径
zip -rjqP "$password" "$zipPath" "$filename" # 压缩
[ ! -d "${filename%/*}/done" ] && mkdir "${filename%/*}/done" # 移动路径
mv "$filename" "${filename%/*}/done/${filename##*/}" # 移动
done
IFS=$IFS_OLD
# 上传百度网盘
/opt/baidupcs/baidupcs upload "*_${pass}.zip" "$uplaodPath"
|
解析
zip -rjqP
,r 递归所有子文件,j 不保留文件目录结构, q 安静模式, P 设置密码,其后跟密码。
find "$ROOT_PATH" -maxdepth 1 -iname "*my.file"
, -maxdepth 1
最大递归深度1,参数放置位置紧跟在 find 路径后。
/opt/baidupcs/baidupcs
为 BaiduPCS-Go 客户端。具体可以看其说明文档。