Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #!/usr/bin/env python
  2. #
  3. # This script will disable cpanel backups for customer which have plan named like Unlimited*
  4. #
  5. # Add this in crontab
  6. # 0 0 * * 0 /root/disable_backups.py 2>&1
  7. #
  8.  
  9. import yaml
  10. import argparse
  11. import subprocess
  12. import os
  13. import sys
  14. import json
  15. import re
  16.  
  17. def toggle_backups(user, state):
  18. p = subprocess.Popen(['/usr/local/cpanel/bin/whmapi1', 'toggle_user_backup_state', 'user='+user, 'legacy=0', '--output=json'], stdout=subprocess.PIPE)
  19. out, err = p.communicate()
  20. out_json = json.loads(out)
  21. data_dict = out_json.get('data')
  22. users = data_dict.get('acct')
  23. result = data_dict.get('toggle_status')
  24. if result!=state:
  25. toggle_backups(user, state)
  26.  
  27. # get username, backup-state, hosting-plan
  28. # /usr/local/cpanel/bin/whmapi1 listaccts want=user,backup,plan
  29. p = subprocess.Popen(['/usr/local/cpanel/bin/whmapi1', 'listaccts', 'want=user,backup,plan', '--output=json'], stdout=subprocess.PIPE)
  30. out, err = p.communicate()
  31. out_json = json.loads(out)
  32. data_dict = out_json.get('data')
  33. users = data_dict.get('acct')
  34.  
  35. for i in users:
  36. user = i.get('user')
  37. backup = i.get('backup')
  38. plan = i.get('plan')
  39. if re.match("^Unlimited", plan):
  40. if backup==1:
  41. print "Disable backups for "+user
  42. toggle_backups(user, 0)
  43. else:
  44. if backup==0:
  45. print "Enable backups for "+user
  46. toggle_backups(user, 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement