Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #
- # This script will disable cpanel backups for customer which have plan named like Unlimited*
- #
- # Add this in crontab
- # 0 0 * * 0 /root/disable_backups.py 2>&1
- #
- import yaml
- import argparse
- import subprocess
- import os
- import sys
- import json
- import re
- def toggle_backups(user, state):
- p = subprocess.Popen(['/usr/local/cpanel/bin/whmapi1', 'toggle_user_backup_state', 'user='+user, 'legacy=0', '--output=json'], stdout=subprocess.PIPE)
- out, err = p.communicate()
- out_json = json.loads(out)
- data_dict = out_json.get('data')
- users = data_dict.get('acct')
- result = data_dict.get('toggle_status')
- if result!=state:
- toggle_backups(user, state)
- # get username, backup-state, hosting-plan
- # /usr/local/cpanel/bin/whmapi1 listaccts want=user,backup,plan
- p = subprocess.Popen(['/usr/local/cpanel/bin/whmapi1', 'listaccts', 'want=user,backup,plan', '--output=json'], stdout=subprocess.PIPE)
- out, err = p.communicate()
- out_json = json.loads(out)
- data_dict = out_json.get('data')
- users = data_dict.get('acct')
- for i in users:
- user = i.get('user')
- backup = i.get('backup')
- plan = i.get('plan')
- if re.match("^Unlimited", plan):
- if backup==1:
- print "Disable backups for "+user
- toggle_backups(user, 0)
- else:
- if backup==0:
- print "Enable backups for "+user
- toggle_backups(user, 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement