mirror of
https://github.com/fritz-smh/yi-hack
synced 2025-06-07 16:06:11 +00:00
Create Copy videos from SD to NAS by ftp
Here there is a script thtat videos from SD card, can make a copy to a NAS
This commit is contained in:
parent
463db327d2
commit
8c2a418f89
106
Copy videos from SD to NAS by ftp
Normal file
106
Copy videos from SD to NAS by ftp
Normal file
@ -0,0 +1,106 @@
|
||||
#!/bin/sh
|
||||
# FTP_COPY version 0.3 by MP77V www.4pda.ru
|
||||
# ----------------------------
|
||||
ftp_dir="/"
|
||||
ftp_host="NAS_IP"
|
||||
ftp_port="FTP_PORT"
|
||||
ftp_login="NAS_USER"
|
||||
ftp_pass="NAS_PASS_User"
|
||||
# ----------------------------
|
||||
|
||||
rec_dir="/tmp/hd1/record"
|
||||
idx_tmp="/tmp/hd1/file_index.ftp"
|
||||
idx_rec="/tmp/hd1/ftp_copy.idx"
|
||||
ftp_log="/tmp/hd1/ftp_copy.log"
|
||||
ftp_pid="/tmp/hd1/ftp_copy.pid"
|
||||
ftp_debug="0"
|
||||
|
||||
dtm()
|
||||
{
|
||||
date '+%Y.%m.%d_%H:%M:%S'
|
||||
}
|
||||
|
||||
wrk()
|
||||
{
|
||||
echo "$((`date '+%s'` - $1))"
|
||||
}
|
||||
|
||||
mkd()
|
||||
{
|
||||
(sleep 1
|
||||
echo "USER ${ftp_login}"
|
||||
sleep 1
|
||||
echo "PASS ${ftp_pass}"
|
||||
sleep 1
|
||||
echo "MKD ${ftp_dir}/$1"
|
||||
sleep 1
|
||||
echo "QUIT"
|
||||
sleep 1 ) | telnet ${ftp_host} ${ftp_port}
|
||||
}
|
||||
|
||||
cfg()
|
||||
{
|
||||
echo " [C]------------------------------"
|
||||
echo " [C] ftp_dir=\"${ftp_dir}\""
|
||||
echo " [C] ftp_host=\"${ftp_host}\""
|
||||
echo " [C] ftp_port=\"${ftp_port}\""
|
||||
echo " [C] ftp_login=\"${ftp_login}\""
|
||||
echo " [C] ftp_pass=\"${ftp_pass}\""
|
||||
echo " [C]------------------------------"
|
||||
}
|
||||
|
||||
ftp_copy()
|
||||
{
|
||||
echo -e "\n$(dtm) [B] BEGIN `sed -e 's/^# //;2q;d;' $0`"
|
||||
cfg
|
||||
|
||||
l=0
|
||||
c=0
|
||||
d=""
|
||||
dir=""
|
||||
|
||||
cp_cmd="ftpput -u ${ftp_login} -p ${ftp_pass} -P ${ftp_port} ${ftp_host}"
|
||||
|
||||
while (sleep 30) ; do
|
||||
l=$(($l + 1))
|
||||
c=0
|
||||
b="`date '+%s'`"
|
||||
for f in `find ${rec_dir} -type f -name '*.mp4' -mmin -10 |grep -vf ${idx_tmp}` ; do
|
||||
d="`dirname $f`"
|
||||
d="${d##*\/}"
|
||||
if [ "$d" != "$dir" ] ; then
|
||||
if [ "${ftp_debug:-0}" == "1" ]; then
|
||||
mkd ${d}
|
||||
else
|
||||
mkd ${d} &>/dev/null
|
||||
fi
|
||||
dir="${d}"
|
||||
echo "$(dtm) [i] DIR: $d"
|
||||
fi
|
||||
echo -n "$(dtm) [i] copy: ${f} [`ls -l ${f}|awk '{ printf(\"%8d\",$5) }'` ] - "
|
||||
$(${cp_cmd} "${ftp_dir}/${dir}/${f##*\/}" "${f}")
|
||||
if [ "$?" == "0" ] ; then
|
||||
echo "OK"
|
||||
sed -i -e :a -e '$q;N;24,$D;ba' ${idx_tmp}
|
||||
echo "${f}">>${idx_tmp}
|
||||
c=$(($c + 1))
|
||||
else
|
||||
echo "$(dtm) [E] copy '${f}' ERROR"
|
||||
fi
|
||||
done
|
||||
echo "$(dtm) [i] Loop ${l} copy ${c} wrk $(wrk $b) sec"
|
||||
if [ "${c}" -gt 0 ]; then
|
||||
cp -f ${idx_tmp} ${idx_rec}
|
||||
fi
|
||||
done
|
||||
echo "$(dtm) Quit"
|
||||
}
|
||||
|
||||
# begin
|
||||
|
||||
test -f ${idx_rec} || echo "#START#" >${idx_rec}
|
||||
cp -f ${idx_rec} ${idx_tmp}
|
||||
ftp_copy >>${ftp_log} 2>&1 &
|
||||
echo $! >${ftp_pid}
|
||||
echo "$(dtm) Start process [ $! ] - write log to file '${ftp_log}'"
|
||||
exit 0
|
Loading…
x
Reference in New Issue
Block a user