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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 | #!/bin/bash
#1.将此脚本和BBDown放置同个目录
#2.同级目录创建"url.md"文件,填写B站URL地址(脚本自动读取最近10分钟内更新,读取后清空md文件)
#3.下载过的链接不再下载
#URL
URL_FILE=url.md
RSS_FILE=rss.md
#确认此目录是否存在!!!
VIDEO_DIR=/volume1/Download/B-site
#RSS地址
RSS=http://192.168.68.253:1200/bilibili/user/video/104412440
#################################################
echo >> $URL_FILE
#日期
DATE=`date +%F`
#SH
SHPATH=`readlink -f $0`
SHDIR=`dirname $SHPATH`
#DIR
LOG_DIR=$SHDIR/LOG
mkdir -p $LOG_DIR
#获取RSS两天内链接
DT=`date +'%d %b %Y'`
DT1=`date -d "1 day ago" +'%d %b %Y'`
curl $RSS >$LOG_DIR/rss.txt
cat $LOG_DIR/rss.txt |grep -A2 pubDate|grep -EA1 "$DT|$DT1"|grep http|awk -F '>|<' '{print $3}' >$SHDIR/$RSS_FILE
#当前下载地址文件
DOWN=$LOG_DIR/download.txt
#log
BBLOG=$LOG_DIR/BB.log
#历史下载存档
DOWN_LOG=$LOG_DIR/download_history.log
#合并下载链接到DOWN
#获取10分钟内更新的md文件
find $SHDIR -maxdepth 1 -type f -mmin -10 -name "*.md"|xargs -i cat {} >$DOWN
##############
echo ====================================================================================================
echo "下载地址"
cat $DOWN
echo ====================================================================================================
#开始执行下载
NUM=`cat $DOWN|wc -l`
for i in `seq $NUM`
do
#下载
echo "=======================================================">> $BBLOG
#对比下载链接是否下载过
HTTP=`sed -n "$i"p $DOWN`
cat $DOWN_LOG|grep "$HTTP" >/dev/null
if [ $? -eq 0 ];then
echo "存在地址:$HTTP,跳过下载。"
else
echo "开始下载:$HTTP"
#下载
cd $SHDIR
./BBDown "$HTTP" |tee -a $BBLOG
#下载完成导入到下载日志
echo "$HTTP" >> $DOWN_LOG
fi
done
###mp4移动到VIDEO_DIR
NEW_FILE=`find $SHDIR -type f -name "*.mp4"`
if [ ! -z "$NEW_FILE" ];then
for i in `echo $NEW_FILE`
do
#获取文件名
MP4_NAME=`basename $i`
#移动
mv "$i" $VIDEO_DIR/$DATE.$MP4_NAME
done
fi
#删除新生成的文件夹
NEW_DIR=`find $SHDIR -maxdepth 1 -type d -newer $LOG_DIR|grep -v $SHDIR$`
if [ ! -z $NEW_DIR ];then
for i in `echo $NEW_DIR`
do
rm -rf "$i"
done
fi
#清空手工url
> $SHDIR/$URL_FILE
|