Skip to content

Instantly share code, notes, and snippets.

@DisasteR
Created April 7, 2018 17:12
Show Gist options
  • Save DisasteR/336096575caf3ba73b3bcae34a673435 to your computer and use it in GitHub Desktop.
Save DisasteR/336096575caf3ba73b3bcae34a673435 to your computer and use it in GitHub Desktop.
Bluemind Run Backup Script for backuppc DumpPreUserCmd
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# You need to install python-bm-client or netbluemind using pip to run this script
import requests
import sys
import time
import datetime
try:
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
except ImportError:
pass
from netbluemind.python.client import BMClient
from netbluemind.dataprotect.api.IDataProtect import IDataProtect
from netbluemind.core.task.api.TaskRef import TaskRef
from netbluemind.core.task.api.TaskStatusState import TaskStatusState
from netbluemind.core.task.api.ITask import ITask
# BEGIN CONF
URL="http://localhost:8090/api"
# END CONF
if len(sys.argv) != 1:
print "Usage : ./bm-runbackup.py"
sys.exit(1)
print "Running BlueMind Backup"
f = open('/etc/bm/bm-core.tok', 'r')
KEY = f.readline()
f.close()
client = BMClient(URL, KEY)
idataprotect = client.instance(IDataProtect)
start = datetime.datetime.now()
taskRef = idataprotect.saveAll()
itask = client.instance(ITask, taskRef.id)
print "-- JobUID : " + taskRef.id
status = itask.status()
sys.stdout.write('.')
sys.stdout.flush()
while status.state == TaskStatusState.InProgress or status.state == TaskStatusState.NotStarted:
time.sleep(10)
sys.stdout.write('.')
sys.stdout.flush()
status = itask.status()
sys.stdout.write('\n')
end = datetime.datetime.now()
for line in itask.getCurrentLogs():
print "-- JobLOG : " + line.encode('utf-8')
print "Backup done with status [" + status.state.value + "] in " + str(end - start)
if status.state == TaskStatusState.InError:
sys.exit(1)
sys.exit(0)
@DisasteR
Copy link
Author

DisasteR commented Apr 7, 2018

example output :

Running BlueMind Backup
-- JobUID : 7eff8b76-b0cb-4cd2-907b-755025b76516
...
-- JobLOG : Backup starting for 1 servers.
-- JobLOG : 0: On server mail
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/imap/1603/ /var/spool/cyrus/ /var/lib/cyrus/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/imap/1608/
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/imap/1603/ /var/spool/cyrus/ /var/lib/cyrus/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/imap/1608/
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/archive/1604/ /var/spool/bm-hsm/snappy/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/archive/1609/
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/archive/1604/ /var/spool/bm-hsm/snappy/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/archive/1609/
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/es/1605/ /var/spool/bm-elasticsearch/data/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/es/1610/
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/es/1605/ /var/spool/bm-elasticsearch/data/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/es/1610/
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : Protect configuration files starting... 
-- JobLOG : Démarrage de la sauvegarde des fichiers de configuration... 
-- JobLOG : configurationFilesProtect: Protect /etc/bm
-- JobLOG : configurationFilesProtect: Protect /etc/bm
-- JobLOG : configurationFilesProtect: 
-- JobLOG : configurationFilesProtect: 
-- JobLOG : configurationFilesProtect: 
-- JobLOG : configurationFilesProtect: 
-- JobLOG : configurationFilesProtect: 
-- JobLOG : configurationFilesProtect: 
-- JobLOG : configurationFilesProtect: Protect /etc/imapd.conf
Protect /etc/cyrus.conf
-- JobLOG : configurationFilesProtect: Protect /etc/imapd.conf
Protect /etc/cyrus.conf
-- JobLOG : configurationFilesProtect: Protect /etc/cyrus-partitions
Protect /etc/cyrus-admins
Protect /etc/postfix
-- JobLOG : configurationFilesProtect: Protect /etc/cyrus-partitions
Protect /etc/cyrus-admins
Protect /etc/postfix
-- JobLOG : configurationFilesProtect: Protect /etc/bm-hps
Protect /etc/bm-node
Protect /usr/share/bm-elasticsearch/config/elasticsearch.yml
-- JobLOG : configurationFilesProtect: Protect /etc/bm-hps
Protect /etc/bm-node
Protect /usr/share/bm-elasticsearch/config/elasticsearch.yml
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/core/1606/ /var/backups/bluemind/conf/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/core/1611/
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/core/1606/ /var/backups/bluemind/conf/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/core/1611/
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : DUMP: Dump done in /var/backups/bluemind/work/pgsql/dump.sql
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/pgsql/1607/ /var/backups/bluemind/work/pgsql/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/pgsql/1612/
-- JobLOG : RSYNC: /usr/share/bm-node/rsync-backup.sh --exclude-from=/etc/bm-node/rsync.excludes -a --delete --numeric-ids --relative --delete-excluded --link-dest=/var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/pgsql/1607/ /var/backups/bluemind/work/pgsql/ /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/pgsql/1612/
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Locking: success, installed signal handlers
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : RSYNC: [rsyncbackup] Removing lock. Exit: ENO_SUCCESS(0)
-- JobLOG : forgetting generation 359...
-- JobLOG : on part mail / mail/imap
-- JobLOG : Removing /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/imap/1573
-- JobLOG : on part mail / mail/archive
-- JobLOG : Removing /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/mail/archive/1574
-- JobLOG : on part mail / bm/es
-- JobLOG : Removing /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/es/1575
-- JobLOG : on part mail / bm/core
-- JobLOG : Removing /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/core/1576
-- JobLOG : on part mail / bm/pgsql
-- JobLOG : Removing /var/backups/bluemind/dp_spool/rsync/xxx.xxx.xxx.xxx/bm/pgsql/1577
-- JobLOG : forgotten
-- JobLOG : result: { "status": "ok" }
-- JobLOG : Forgot generation 359
-- JobLOG : Backup finished
Backup done with status [Success] in 0:00:20.031439

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment