Your commit message
This commit is contained in:
60
下载中心/youtube/1-离线下载中心Rclone守护脚本.sh
Normal file
60
下载中心/youtube/1-离线下载中心Rclone守护脚本.sh
Normal file
@@ -0,0 +1,60 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user