Mam zadanie w cron:
które uruchamia:
Działa to tak, że dane które się ściągnęły lokalnie trafiają do: /share/CACHEDEV2_DATA/Rdownload/medialibrary/. W nocy uruchamiany jest powyższy skrypt przenosi na drive. Jeśli mam dane lokalnie i odświeżę bibliotekę w Plex mogę je odtworzyć. Jeśli w nocy dane trafią do google i znowu próbuje odtworzyć dane to mam błąd odtwarzania.
Żeby można było normalnie odtworzyć trzeba wykonać: kill -1 <pid_z_mount_rclone>. Próbowałem to dodać do skryptu powyżej jako:
nie wiem jednak dlaczego to polecenie nie działa/nie wykonuje się. Jak zaloguje się do terminala i wykonam je ręcznie zadziała i Plex zaczyna działać.
Jakieś pomysły?
Kod:
0 1 * * * /bin/bash /share/CACHEDEV1_DATA/.qpkg/RClone/rclone_cron.sh
Kod:
#!/bin/bash
export PIDF=/var/run/rclone_cron.pid
start_msg="Synchronization with drive start"
end_msg="Synchronization with drive stop"
dir_path=/share/CACHEDEV2_DATA/Rdownload/medialibrary
#exit if running
if [ -f "$PIDF" ]; then
/sbin/log_tool -t 2 -a "Unable to start synchronization with drive. Process already running"
exit 1
fi
# Move older local files to the cloud
/sbin/log_tool -t 0 -a "$start_msg"
/sbin/notice_log_tool -t 5 -a "$start_msg"
touch "$PIDF"
/usr/bin/rclone move --config=/share/CACHEDEV1_DATA/.qpkg/RClone/rclone.conf /share/CACHEDEV2_DATA/Rdownload/medialibrary/ gcrypt:/ --log-file /share/CACHEDEV2_DATA/Rdownload/logs/rclone_upload.log -v --delete-empty-src-dirs --fast-list --max-transfer 700G
rm -f "$PIDF"
# Remove empty dirs
find $dir_path -type d -empty -delete
# Recreate stucture - problem with union if not exists:
mkdir -p $dir_path/4K
mkdir -p $dir_path/Kids
mkdir -p $dir_path/Movies
mkdir -p $dir_path/Music
mkdir -p $dir_path/TV\ Shows
mkdir -p $dir_path/Book
mkdir -p $dir_path/Audiobook
# Remove cache:
#rm -rf /share/CACHEDEV1_DATA/.rclone/rclone/vfs/union/*
#rm -rf /share/CACHEDEV1_DATA/.rclone/rclone/vfsMeta/union/*
# Refresh Plex library
sleep 20
/bin/kill -1 "$(ps -w | grep '[r]clone mount' | awk '{print $1}')"
# Sleep
sleep 10
/sbin/log_tool -t 0 -a "$end_msg"
/sbin/notice_log_tool -t 5 -a "$end_msg"
exit 0
Działa to tak, że dane które się ściągnęły lokalnie trafiają do: /share/CACHEDEV2_DATA/Rdownload/medialibrary/. W nocy uruchamiany jest powyższy skrypt przenosi na drive. Jeśli mam dane lokalnie i odświeżę bibliotekę w Plex mogę je odtworzyć. Jeśli w nocy dane trafią do google i znowu próbuje odtworzyć dane to mam błąd odtwarzania.
Żeby można było normalnie odtworzyć trzeba wykonać: kill -1 <pid_z_mount_rclone>. Próbowałem to dodać do skryptu powyżej jako:
Kod:
# Refresh Plex library
sleep 20
/bin/kill -1 "$(ps -w | grep '[r]clone mount' | awk '{print $1}')"
Jakieś pomysły?