正文索引 [隐藏]

需求

我常常用flexget来订阅新番的种子,然后通过qBittorrent下载。但是我的硬盘只有60G,还装了其它东西,加上我不喜欢看完就删,导致经常会爆硬盘。

我在想种子下载完后自动通过smb共享移动到win10的2T机械硬盘里就好了

挂载

win下面怎么设置就不说了,说说linux怎么挂载吧

#创建挂载目录
mkdir /mnt/win10/
#手动挂载
mount -t cifs -o username=share,password=123456 //192.168.1.3/共享 /mnt/win10
#自动挂载,编辑 /etc/fstab 添加下面命令
//192.168.1.3/共享 /mnt/win10 cifs username=share,password=123456 0 0

qBittorrent

利用这个功能来运行脚本

脚本

纯靠查百度写的,虽然简陋但还挺好用

#!/bin/bash

name=$1
dir=$2
win_dir="/mnt/win10/anime/"
win_ip="192.168.1.254"
declare -A fanju
fanju=([Asteroid]="恋爱小行星" [Ishuzoku]="异世界风俗娘" [Eizouken]="映像研")

#番剧判断
for i in ${!fanju[*]}
do
if [ ! $(echo $name | grep -ic $i) -eq "0" ];
then
	fan=${fanju["$i"]} && fanmove=0 && break
else
	fanmove=1
fi
done

#保持做种一天,人人为我,我为人人
if [ $fanmove -eq "0" ];
then
	sleep 1d
fi

#移动判断
while [ $fanmove -eq "0" ]
do
#判断win是否在线
ping -c 1 -w 1 $win_ip >/dev/null 2>&1 && win_status=0 || win_status=1
if [ $win_status -eq "0" ];
then
	sleep 5m
	ping -c 1 -w 1 $win_ip >/dev/null 2>&1 && win_status=0 || win_status=1
fi
if [ $win_status -eq "0" ];
then
	#判断win文件夹是否存在
	if [ ! -d $win_dir$fan ];
	then
		mkdir $win_dir$fan
	fi
	#移动文件
	mv "$dir" $win_dir$fan && break
else
	sleep 1h
fi
done

#日志记录与邮件通知
if [ $fanmove -eq "0" ];
then
	echo "时间:$(date "+%Y-%m-%d %H:%M:%S")
	文件名:\"$name\"
	原路径:\"$dir\"
	移动到:\"$win_dir$fan$name\"
	##################################################" >> /home/script/qbt/qbt.log 2>&1
	cat /home/script/qbt/qbt.log | tail -n 6 | mail -s "\"$name\"已完成移动" [email protected]
fi

脚本要点

  • 判断这个文件是否需要移动
  • win10不是24小时开机,所以要等win10在线才进行移动

移动后

日志

通知

最后:这种行为其实不太好,空间足够的话能做种还是保持做种吧