123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env python
- from datetime import datetime
- import sys
- import requests
- try:
- import urllib.parse as urlparse
- except ImportError:
- import urlparse
- # change base_url to point to your SFTPGo installation
- base_url = "http://127.0.0.1:8080"
- # set to False if you want to skip TLS certificate validation
- verify_tls_cert = True
- # set the credentials for a valid admin here
- admin_user = "admin"
- admin_password = "password"
- # get a JWT token
- auth = requests.auth.HTTPBasicAuth(admin_user, admin_password)
- r = requests.get(urlparse.urljoin(base_url, "api/v2/token"), auth=auth, verify=verify_tls_cert, timeout=10)
- if r.status_code != 200:
- print("error getting access token: {}".format(r.text))
- sys.exit(1)
- access_token = r.json()["access_token"]
- auth_header = {"Authorization": "Bearer " + access_token}
- r = requests.get(urlparse.urljoin(base_url, "api/v2/dumpdata"),
- params={"output-file":"backup_{}.json".format(datetime.today().strftime('%w'))},
- headers=auth_header, verify=verify_tls_cert, timeout=10)
- if r.status_code == 200:
- print("backup OK")
- else:
- print("backup error, status {}, response: {}".format(r.status_code, r.text))
|