最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

100T硬盤資源管理分享

2022-10-07 16:21 作者:提依拉  | 我要投稿

主機(jī)

蝸牛星際4盤位

萬由810A+i510400T+64G+MATX+被動(dòng)散熱+SN570固態(tài)

硬盤

4 * 10T

4 * 16T

系統(tǒng)

CentOS 8

磁盤管理

參考LVMRAID(7)

軟件

Samba cockpit libvirt podman jallyfin you-get weboSpider youtube-dl ImageMagick frp

Samba設(shè)置

[nas] comment = nas path = /data writeable = yes create mask = 0664 directory mask = 0775

資源元數(shù)據(jù)采集

爬某個(gè)電影網(wǎng)站, 記錄分類 演員 日期等元數(shù)據(jù)信息, 做好歸檔和創(chuàng)建目錄

[tiera@server bin]$ cat touch_jav.sh #!/bin/bash URL=$1 #if [ $1 == 'local' ];then #cp "$(ls -rt /data/ssd/Downloads/tmp/*.htm* | awk 'END{print}')" /tmp/jav_web_source.html #else #echo '開始拉取數(shù)據(jù)...' ##curl -kL ${URL} > /tmp/jav_web_source.html #ssh tiera@www.tierama.com "curl -kL ${URL} > /tmp/jav_web_source.html" \ #&& scp tiera@www.tierama.com:/tmp/jav_web_source.html /tmp/jav_web_source.html \ # || (echo -e "\033[31m數(shù)據(jù)拉取失敗,退出當(dāng)前任務(wù)!\033[0m" && exit) #fi touch_jav() { #獲取標(biāo)題,并去除特殊符號(hào) echo '正在獲取標(biāo)題...' TITLE=`grep 'JAVLibrary</title>' /tmp/jav_web_source.html | sed 's/<title>//g' | sed 's/\ -\ JAVLibrary<\/title>//g' | sed 's/\ /)/' | sed 's/^/(/g' | sed 's/://g' | sed 's/\*//g' | sed 's/?//g' | sed 's/\ /-/g'` #獲取番號(hào) echo '正在獲取番號(hào)ID...' ID=`echo $TITLE | cut -d\( -f2 | cut -d\) -f1` [ -z $ID ] && echo -e "\033[31m數(shù)據(jù)拉取失敗,退出當(dāng)前任務(wù)!\033[0m" && exit #檢查重復(fù) echo '檢查重復(fù)...' ls -d /data/hdd/JAV/\(${ID}\)* if [ $? -eq 0 ];then echo -e "\033[33m此番號(hào)已存在,退出當(dāng)前任務(wù)!\033[0m" return 1 fi #獲取封面圖片鏈接 echo '正在獲取封面圖片URL...' IMAGE_URL=https://`grep video_jacket_img /tmp/jav_web_source.html | sed 's/.*src=\"\/\///g' | sed 's/\.jpg.*/\.jpg/g' | sed 's/.*src=\"https:\/\///g'` echo "封面URL為: $IMAGE_URL" #獲取標(biāo)簽 echo '正在獲取標(biāo)簽...' TAG=`grep 'category tag' /tmp/jav_web_source.html | sed 's/rel="category tag">/\n/g' | sed 's/<\/a><\/span>/\n/g' | grep -Ev '<|>' | tr '\n' , | sed 's/,$//g' | sed 's/\ //g'` #獲取演員名 echo '正在獲取演員列表...' ACTOR=`grep 'span class="star"' /tmp/jav_web_source.html | sed 's/rel="tag">/\n/g' | sed 's/<\/a><\/span>/\n/g' | grep -Ev '<|>' | tr '\n' , | sed 's/,$//g' | sed 's/\ //g'` # 更新actress.db grep 'span class="star"' /tmp/jav_web_source.html | sed 's/<a\ href=\"vl_star\.php?s=/\n/g' | sed 's/<\/span>\ <span\ id=\"star/\n/g' | grep 'rel="tag"' | sed 's/" rel="tag">/|/g' | sed 's/<\/span>\ <span\ id=\"alias[[:digit:]]*\"\ class=\"alias\">/|/g' | sed 's/<\/a>//g' >> /data/hdd/JAV_thumbnail/lib/actress.db sort -u /data/hdd/JAV_thumbnail/lib/actress.db -o /data/hdd/JAV_thumbnail/lib/actress.db #獲取發(fā)布日期 echo '正在獲取發(fā)布日期...' JAV_DATE=`grep -A1 發(fā)行日期 /tmp/jav_web_source.html | grep -v 發(fā)行日期 | sed 's/.*>2/2/' | sed 's/<.*//' | head -1` #將標(biāo)題信息存入臨時(shí)文件 echo '格式化數(shù)據(jù)...' echo ${TITLE} > /tmp/full_title_tmp.txt echo ${TAG} >> /tmp/full_title_tmp.txt echo ${ACTOR} >> /tmp/full_title_tmp.txt #格式化數(shù)據(jù) dos2unix /tmp/full_title_tmp.txt #整合標(biāo)題名 FULL_TITLE=`cat /tmp/full_title_tmp.txt | tr '\n' _ | sed 's/_$//g'` #判斷標(biāo)題名是否過長(zhǎng),如果超過80個(gè)字符,刪除標(biāo)題后面字符,再重新生成標(biāo)題名 while [ `sed -n '1p' /tmp/full_title_tmp.txt | wc -L` -ge 80 ] do sed -i '1s/...$//' /tmp/full_title_tmp.txt done #判斷演員名是否過長(zhǎng),如果超過60個(gè)字符,刪除標(biāo)題后面字符,再重新生成標(biāo)題名 while [ `sed -n '3p' /tmp/full_title_tmp.txt | wc -L` -ge 60 ] do sed -i '3s/..$//' /tmp/full_title_tmp.txt done # 確定最終標(biāo)題名 FULL_TITLE=`cat /tmp/full_title_tmp.txt | tr '\n' _ | sed 's/_$//g' | tr -d \/` while [ ${#FULL_TITLE} -ge 95 ] do FULL_TITLE=`echo ${FULL_TITLE} | sed 's/..$//'` done #開始創(chuàng)建JAV目錄 echo "正在創(chuàng)建目錄 ${FULL_TITLE}" result=$(echo ${FULL_TITLE} | grep '(.*).*_.*') if [ "$result" != "" ];then mkdir "/data/hdd/JAV/${FULL_TITLE}" fi #下載封面圖... echo '正在下載封面圖...' wget --no-check-certificate -O "/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg" "${IMAGE_URL}" #ssh tiera@www.tierama.com "wget -O /tmp/jav.jpg "${IMAGE_URL}"" \ #&& scp tiera@www.tierama.com:/tmp/jav.jpg "/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg" #curl -k -o "/data/jav/${FULL_TITLE}/${FULL_TITLE}.jpg" "${IMAGE_URL}" # 驗(yàn)證是否獲取成功 #{ [ -n $TITLE ] && [ -n $IMAGE_URL ] && [ -f "/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg" ] && echo -e "\033[31m ${str}\033[0m" '文件驗(yàn)證成功' } || { echo -e "\033[31m ${str}\033[0m" '數(shù)據(jù)獲取失敗,請(qǐng)手動(dòng)獲取文件數(shù)據(jù)' && exit 1 } if [ -f "/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg" -a $(ls -s --block-size=k "/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg" | cut -d'K' -f1) -gt 10 ];then echo -e "\033[32m 文件驗(yàn)證成功\033[0m" else echo -e "\033[31m 數(shù)據(jù)獲取失敗,請(qǐng)手動(dòng)獲取文件數(shù)據(jù)\033[0m" echo "手動(dòng)執(zhí)行" echo -e "wget --no-check-certificate -O \"/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg\" \"${IMAGE_URL}\"" echo -e "find \"/data/hdd/JAV/$FULL_TITLE\" -exec touch -m -d "${JAV_DATE}" '{}' \;" exit 9 fi #更改文件mtime為發(fā)行日期 echo '更改發(fā)行日期...' echo $FULL_TITLE | grep $ID \ && find "/data/hdd/JAV/$FULL_TITLE" -exec touch -m -d "${JAV_DATE}" '{}' \; \ || echo -e "\033[31m日期錯(cuò)誤\033[0m" # chattr增加文件權(quán)限 # echo '增加文件權(quán)限...' # sudo chattr +a /data/hdd/JAV/${FULL_TITLE}/ \ # && sudo chattr +i "/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg" \ # && echo '完成' echo -e '\n\n\n\n' # Also copy jpg file to SSD cp -p "/data/hdd/JAV/${FULL_TITLE}/${FULL_TITLE}.jpg" /data/ssd/JAV_thumbnail/all_jpg/ } if [ $1 == 'local' ];then OLDIFS="$IFS" IFS=$'\n' # 使用本地html鏈接到j(luò)av_web_source.html for i in `ls -t /data/ssd/Downloads/tmp/*.htm*` do ln -f -s "${i}" /tmp/jav_web_source.html # 調(diào)用touch_jav touch_jav done IFS="$OLDIFS" # 清空本地臨時(shí)文件 rm -f /data/ssd/Downloads/tmp/* else # 通過URL下載jav_web_source.html #ssh tiera@www.tierama.com "curl -kL ${URL} > /tmp/jav_web_source.html" \ #&& scp tiera@www.tierama.com:/tmp/jav_web_source.html /tmp/jav_web_source.html \ #|| (echo -e "\033[31m數(shù)據(jù)拉取失敗,退出當(dāng)前任務(wù)!\033[0m" && exit) # 調(diào)用touch_jav # curl -kL ${URL} > /tmp/jav_web_source.html touch_jav fi

使用:

資源下載

資源生成

根據(jù)封面生成海報(bào)文件, 生成nfo文件, 創(chuàng)建鏈接文件用于瀏覽

[tiera@server bin]$ cat gen_index.sh #!/bin/bash # 將下載完成的指定文件移動(dòng)到影片目錄中, 并調(diào)用gen_poster生成海報(bào) 調(diào)用gen_nfo生成元數(shù)據(jù)文件 生成available的鏈接文件 # 參數(shù)1是文件,參數(shù)2是番號(hào) file=$1 id=$2 target_dir=`getdir $2` # 目標(biāo)目錄不存在,需要初始化目錄 [[ ! -d $target_dir ]] && echo '目錄不存在 exit' && exit 2 # 目標(biāo)目錄已經(jīng)有視頻文件,判斷退出 ls ${target_dir}/*.mp4 2> /dev/null && echo '已有視頻文件 exit' && exit 1 # 判斷視頻文件是否包含空格,應(yīng)去除掉空格 echo $file | grep ' ' 2> /dev/null && echo '文件名包含空格,去除掉空格重新運(yùn)行 exit' && exit 3 # 移動(dòng)視頻文件 mv $file $target_dir && echo '移動(dòng) OK' # 鏈接目錄 ln -s $target_dir /data/hdd/JAV_thumbnail/available/ && echo '創(chuàng)建鏈接目錄 OK' gen_poster.sh $target_dir && echo '生成海報(bào) OK' gen_nfo.sh $target_dir && echo '生成元數(shù)據(jù)文件 OK' [tiera@server bin]$ cat gen_poster.sh #!/bin/bash # 目標(biāo)目錄 target=$1 # 找到目錄中的視頻文件 video_file=$(find ${target} -type f -size +500M | head -1) echo "video filename: ${video_file}" # 定義海報(bào)文件名字 poster_file=${video_file%.*}.jpg echo "poster filename: ${poster_file}" # 找到封面文件 thumb_file=$(find ${target} -type f -name '*.jpg' | grep "(.*-.*).*(.*-.*)" | head -1) echo "thumb filename: ${thumb_file}" # 不用執(zhí)行下去的情況判斷 #if [[ ! -f ${poster_file} -o -z ${poster_file} ]];then #echo "ERROR" #exit #fi # 準(zhǔn)備生成海報(bào) cp ${thumb_file} /tmp/source.jpg # 生成海報(bào) podman run --rm -v /tmp:/imgs docker.io/dpokidov/imagemagick /imgs/source.jpg -crop 379x538+420+0 /imgs/dest.jpg # 復(fù)制海報(bào)文件到target cp /tmp/dest.jpg ?${poster_file} [tiera@server bin]$ cat gen_nfo.sh #!/bin/bash source_dir=$1 movie_file=$(find ${source_dir}/ -type f -size +500M | head -1) thumb_file=$(find ${source_dir}/ -name '(*-*)*_*.jpg' | head -1) nfo_file=${movie_file%.*}.nfo original_filename=$(echo ${movie_file} | awk -F'/' '{print $NF}') title=$(echo ${source_dir} | sed 's/\/$//g' | awk -F'/' '{print $NF}' | sed 's/(//g' | sed 's/)/ /g' | awk -F'_' '{print $1}') # 日期 premiered=$(/usr/bin/ls --time-style=+%F -l ${thumb_file} | awk '{print $(NF-1)}') # 類別 genre=$(echo ${source_dir} | sed 's/\/$//g' | awk -F'/' '{print $NF}' | awk -F'_' '{print $2}' | tr ',' ' ') # 演員 actor=$(echo ${source_dir} | sed 's/\/$//g' | awk -F'/' '{print $NF}' | awk -F'_' '{print $3}' | tr ',' ' ') # title nfo_demo1="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <movie> ?<title>${title}</title> ?<premiered>${premiered}</premiered>" # all genre nfo_demo2=$(for i in ${genre};do echo " ?<genre>${i}</genre>";done) # all acctress name nfo_demo3=$(for i in ${actor};do echo " ?<actor><name>$i</name><thumb/><profile/></actor>";done) # video filename nfo_demo4=" ?<original_filename>${original_filename}</original_filename> </movie>" echo -e "${nfo_demo1} ${nfo_demo2} ${nfo_demo3} ${nfo_demo4}" > ${nfo_file}

客戶端

Windows系統(tǒng)

Everything

設(shè)置添加目錄

開啟匹配目錄

添加篩選器 jav 勾選正則表達(dá)式 內(nèi)容: \(.*-.*\).*_.*\.jpg

搜索匹配路徑 查找圖片

視圖超大圖標(biāo) 按修改日期排序

大致如下(實(shí)際使用時(shí)為封面預(yù)覽):

使用技巧 可以空格按多個(gè)關(guān)鍵字找 !不匹配 |或查找

前綴加元數(shù)據(jù)的目錄是所有影片 加資源鏈接目錄是已下載好的

高級(jí)條件查找

可以按分類條件和精細(xì)程度查找演員

比如要看胖的 瘦的 高的 矮的

[tiera@server bin]$ cat search_actress.sh #!/bin/bash # 輸入N個(gè)類別參數(shù), 按照類型找女優(yōu)名字, 如果加入-e參數(shù) 可以查多次出現(xiàn)的類別, 加入-ee參數(shù) 必須是單體作品女優(yōu) rm -f /tmp/result*.txt i=1 if [ "$1" == '-e' ];then ?shift ?until [ $# -eq 0 ] ?do ? ?ls /data/ssd/JAV_thumbnail/all_jpg/ | grep $1 | grep -v '精選' | awk -F'_' '{print $3}' | sed 's/\.jpg//g' | tr ',' '\n' | grep -Ev '^$' | sort | uniq -d > /tmp/result${i}.txt ? ?((i++)) ? ?shift ? ?# [[ $# -eq 0 ]] && break ?done elif [ "$1" == '-ee' ];then ?shift ?until [ $# -eq 0 ] ?do ? ?ls /data/ssd/JAV_thumbnail/all_jpg/ | grep $1 | grep -v '精選' | grep '單體作品' | awk -F'_' '{print $3}' | sed 's/\.jpg//g' | tr ',' '\n' | grep -Ev '^$' | sort | uniq -d > /tmp/result${i}.txt ? ?((i++)) ? ?shift ?done else ?# for i in $(seq 1 5) ?until [ $# -eq 0 ] ?do ? ?ls /data/ssd/JAV_thumbnail/all_jpg/ | grep $1 | awk -F'_' '{print $3}' | sed 's/\.jpg//g' | tr ',' '\n' | grep -Ev '^$' | sort | uniq > /tmp/result${i}.txt ? ?((i++)) ? ?shift ? ?# [[ $# -eq 0 ]] && break ?done fi ((i--)) cat /tmp/result*.txt | sort | uniq -c | grep "$i "

Jellyfin

可以認(rèn)出資源目錄的nfo文件, 和海報(bào)文件. 不需額外配置

Jellyfin不支持正則,多關(guān)鍵字. 故很少用

demo

http://www.juminhee.com:9090

tmp/tmp

100T硬盤資源管理分享的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
左云县| 马龙县| 宣汉县| 铜鼓县| 赤水市| 紫阳县| 治县。| 张家界市| 西青区| 金昌市| 武乡县| 河北省| 新竹市| 满洲里市| 绥德县| 房山区| 中方县| 自贡市| 绥江县| 广元市| 上犹县| 砚山县| 岑巩县| 平南县| 咸丰县| 曲沃县| 江陵县| 交口县| 松江区| 瑞金市| 刚察县| 鄂尔多斯市| 泰兴市| 左云县| 额敏县| 鄂伦春自治旗| 华容县| 抚松县| 临朐县| 西乌| 岚皋县|