Advertisement
rageagainstjg

Untitled

Jul 7th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # use lftp to mirror (download) a remote (source) server directory
  4. # to a local (target) directory, removing the remote directory after
  5. # transfer is complete. Uses parallel file transfer as well as segmented
  6. # transfer. Authorization is done using default ssh private key file as
  7. # determined by "ssh -a -x"
  8.  
  9. # Leave PASSword blank to use ssh private key authorization
  10. PIDFILE="~/.lftp_script.pid"
  11.  
  12. if [ -e "$PIDFILE" ]
  13. then
  14. kill "`cat "$PIDFILE"`"
  15. fi
  16.  
  17. echo $$ > "$PIDFILE"
  18.  
  19.  
  20. USER="user"
  21. PASS="*****"
  22. HOST="*****"
  23. PORT=22
  24. REMOTE_DIR1="/home/user/downloads/Sync/TV_FAST"
  25. LOCAL_DIR1="/cygdrive/c/users/MiniPC/Desktop/TV_Temp"
  26. REMOTE_DIR2="/home/user/downloads/Sync/Movies_FAST"
  27. LOCAL_DIR2="/cygdrive/c/users/MiniPC/Desktop/Movies_Temp"
  28. REMOTE_DIR3="/home/user/downloads/Sync/TV"
  29. REMOTE_DIR4="/home/user/downloads/Sync/Movies"
  30. # If the target (local) directory ends with a slash (except the root),
  31. # the source (remote) base name is appended to target directory name.
  32. # In most cases you will NOT want to end with a '/'
  33.  
  34. # number of parallel files and segments to transfer, and minimum chunk size
  35. NFIL=1
  36. NSEG=10
  37. MINCHUNK=1M
  38.  
  39. LOG="${HOME}/.lftp-seedbox-sync-get.log"
  40. LOCKF="/tmp/lftp-mirror-get.lock"
  41.  
  42. echo "${0} Starting at $(date)"
  43.  
  44. trap "rm -f ${LOCKF}" SIGINT SIGTERM
  45. if [ -e "${LOCKF}" ]; then
  46. echo "*** ERROR: ${0} is already running...Exiting..."
  47. exit 1
  48. else
  49. touch "${LOCKF}"
  50. lftp -p ${PORT} -u "${USER},${PASS}" sftp://${HOST} << EOF
  51. mv /home/user/downloads/Sync/Movies/.mailto /home/user/downloads/Sync/Movies_HOLDING/
  52. lftp -p ${PORT} -u "${USER},${PASS}" sftp://${HOST} << EOF
  53. mv "${REMOTE_DIR4}" "${REMOTE_DIR4}_lftp"
  54. mkdir -p "${REMOTE_DIR4}"
  55. lftp -p ${PORT} -u "${USER},${PASS}" sftp://${HOST} << EOF
  56. mv /home/user/downloads/Sync/Movies_HOLDING/.mailto /home/user/downloads/Sync/Movies/
  57. lftp -p ${PORT} -u "${USER},${PASS}" sftp://${HOST} << EOF
  58. set ftp:list-options -a
  59. set pget:min-chunk-size ${MINCHUNK}
  60. set pget:default-n ${NSEG}
  61. set mirror:use-pget-n ${NSEG}
  62. set mirror:parallel-transfer-count ${NFIL}
  63. set mirror:parallel-directories yes
  64. set net:limit-total-rate 1250000
  65. mirror -c --log="${LOG}" "${REMOTE_DIR4}_lftp" "${LOCAL_DIR2}"
  66. rm -rf "${REMOTE_DIR4}_lftp"
  67. quit
  68. EOF
  69. rm -f "${LOCKF}"
  70. trap - SIGINT SIGTERM
  71. echo "${0} Finished at $(date)"
  72. ~/FILEBOT_MOVIES.BAT
  73. ~/Download_All.sh
  74. rm "$PIDFILE"
  75. exit 0
  76. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement