Files
shell-scripts/下载中心/youtube/1-离线下载中心Rclone守护脚本.sh
2023-05-15 16:49:09 +08:00

60 lines
1.7 KiB
Bash

#!/bin/bash
video_file_path=/data/alist/local/ytdl/video/
rclone_remote=office-wdd
rclone_log_path=/data/alist/local/ytdl/appdata/rclone-to-onedrive.log
build_duplicate_files() {
path=$1
namelist=('How Geography Made The US Ridiculously OP.f399.mp4.part'
'How Geography Made The US Ridiculously OP.f399.mp4.ytdl'
'How Geography Made The US Ridiculously OP.info.json'
"Why Russia's Biggest Threat is Actually China.mp4"
)
for file in $namelist; do
echo "$file"
touch "$file"
done
}
check_duplicate_filenames() {
path=$1
files=$(find $path -type f)
if [ -z "$files" ]; then
echo "there are no files in $path, continue waiting!"
return 1
fi
duplicates=0
for file in $files; do
filename=$(basename $file)
count=$(echo $filename | tr -cd '.' | wc -c)
if [ $count -gt 1 ]; then
echo "find duplicate files in $path, continue waiting!"
duplicates=1
break
fi
done
return $duplicates
}
move_files_to_onedrive() {
echo "[$(date --rfc-3339=seconds | cut -d"+" -f1 | sed "s/ /-/g" | sed "s/:/-/g")] start to move files [ $(find "$video_file_path" -type f -exec basename {} \;) ] to OneDrive" >> $rclone_log_path
rclone move "$video_file_path" "$rclone_remote":/TransVideos --create-empty-src-dirs -P >> $rclone_log_path
echo "[$(date --rfc-3339=seconds | cut -d"+" -f1 | sed "s/ /-/g" | sed "s/:/-/g")] move files [ $(find "$video_file_path" -type f -exec basename {} \;) ] to OneDrive complete!" >> $rclone_log_path
}
while true; do
check_duplicate_filenames "$video_file_path"
result=$?
if [ $result -eq 0 ]; then
move_files_to_onedrive
else
sleep 5
fi
done