gdrive.sh 1.4 KB

1234567891011121314151617181920212223242526
  1. gdfver=1.02
  2. function gdrive_upload() {
  3. local err=0; local target=$1; local current_date=$2;
  4. which drive > /dev/null 2>&1 || { show_error 'Install drive first! (ppa:twodopeshaggy/drive)' "$FUNCNAME"; return 1; }
  5. test $# -eq 2 || { show_error "Wrong usage of the function! Args=$@" "$FUNCNAME"; return 1; }
  6. show_notice "Upload $source to $target/$current_date ..." "$FUNCNAME"
  7. test "x`drive stat -quiet $target 2>&1`" != "x" && drive push -quiet $target
  8. drive push -quiet $target/$current_date 2>&1 || { show_error "Error on drive push $target/$current_date" "$FUNCNAME"; local err=1; }
  9. return $err;
  10. }
  11. function gdrive_clean() {
  12. local err=0; local target=$1; local count=$2
  13. which drive > /dev/null 2>&1 || { show_error 'Install drive first! (ppa:twodopeshaggy/drive)' "$FUNCNAME"; return 1; }
  14. test $# -eq 2 || { show_error "Wrong usage of the function! Args=$@" "$FUNCNAME"; return 1; }
  15. total=`drive ls $target | wc -l`
  16. to_delete=$[${total} - ${count}]
  17. test $to_delete -gt 0 && {
  18. for var in `drive ls $target | xargs basename -a | sort | head -n $to_delete`; do
  19. show_notice "Deleting $target/$var ..." "$FUNCNAME"
  20. drive del --quiet $target/$var 2>&1 || { show_error "Error on drive del $target/$var" "$FUNCNAME"; local err=1; }
  21. done
  22. }
  23. }