Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. DATE=$(date +%F)
  4. TARGET_FILENAME=edgeos-backup-$DATE.tar.gz
  5. TARGET_DIR=/tmp
  6. TARGET_PATH=$TARGET_DIR/$TARGET_FILENAME
  7. SOURCE_DIR=/config
  8. DATE_OFFSET_SCRIPT=/config/user-data/date-offset.pl
  9.  
  10. BACKUP_RETENTION=3
  11. FTP_USER=router
  12. FTP_PASS=mypassword
  13. FTP_HOST=backup.mydomain.local
  14.  
  15. function date-offset {
  16. $DATE_OFFSET_SCRIPT $1
  17. }
  18.  
  19. function delete-older-remote-file {
  20. OLDER_DATE=$(date-offset $1)
  21. OLD_FILENAME=edgeos-backup-$OLDER_DATE.tar.gz
  22.  
  23. echo "... Going to delete older file $OLD_FILENAME"
  24. ftp -n -z secure $FTP_HOST <<END_SCRIPT
  25. quote USER $FTP_USER
  26. quote PASS $FTP_PASS
  27. quote PROT P
  28. delete $OLD_FILENAME
  29. quit
  30. END_SCRIPT
  31. }
  32.  
  33. echo "Backup /config..."
  34. rm $TARGET_PATH 2> /dev/null
  35. tar cfz $TARGET_PATH $SOURCE_DIR
  36.  
  37. echo "Uploading to FTP..."
  38. ftp -n -z secure $FTP_HOST <<END_SCRIPT
  39. quote USER $FTP_USER
  40. quote PASS $FTP_PASS
  41. quote PROT P
  42. binary
  43. put $TARGET_PATH $TARGET_FILENAME
  44. quit
  45. END_SCRIPT
  46.  
  47. echo "Clean up existing file..."
  48. rm $TARGET_PATH
  49.  
  50. echo "Clean up older remote files..."
  51. for i in $(seq $BACKUP_RETENTION $(($BACKUP_RETENTION + 3)));
  52. do delete-older-remote-file $i
  53. done
  54.  
  55. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement