DrTrigon has submitted this change and it was merged.

Change subject: backup ported and adopted from (old) backup sh script
......................................................................


backup ported and adopted from (old) backup sh script

Change-Id: Ia9115847856661b7f45655928cea960990597b34
---
D backup
M fabfile.py
2 files changed, 66 insertions(+), 85 deletions(-)

Approvals:
  DrTrigon: Verified; Looks good to me, approved



diff --git a/backup b/backup
deleted file mode 100644
index 3f6fa03..0000000
--- a/backup
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/bash
-
-# Do a backup of sensitive and important data and since that data
-# are private they have to be protected also.
-#
-# - Backup all important user and config data from 'pywikipedia/'
-#   to 'BAK_DIR/'.
-# - I noticed many people using the framework haven't set the correct 
-#   access flags to their "login-data" dir. This could lead to someone 
-#   using those files to run your bot accounts. Although only other 
-#   toolserver users can see these files, its still an issue. Please make 
-#   at least that dir "not readable" for anyone but "owner". --Pyr0.
-
-
-# init backup (trash old one)
-echo init/reset backup on 
-echo - productive
-rm -rf BAK_DIR/
-mkdir BAK_DIR
-
-# backup 'backup' (myself) on productive
-echo backup 'backup' \(myself\) on 
-echo - productive
-cp -a backup BAK_DIR/
-
-
-# backup 'login-data' on productive
-echo
-echo backup 'login-data' on 
-echo - productive
-cp -a pywikipedia/login-data/ BAK_DIR/
-
-# protect 'login-data' on productive (and on html-source)
-echo protect 'login-data' on 
-echo - productive
-chmod -R go-rwx ./pywikipedia/login-data
-##ls ./pywikipedia/login-data -ld
-##ls ./pywikipedia/login-data -l
-#echo - html-source
-#chmod -R go-rwx ./public_html/source/pywikipedia/login-data
-##ls public_html/source/pywikipedia/login-data -ld
-##ls public_html/source/pywikipedia/login-data -l
-
-
-# backup 'user-config.py' on productive
-echo
-echo backup 'user-config.py' on 
-echo - productive
-#cp -a pywikipedia/bot_control.py BAK_DIR/
-#cp -a pywikipedia/clean_user_sandbox.py BAK_DIR/
-#cp -a pywikipedia/subster.py BAK_DIR/
-#cp -a pywikipedia/sum_disc.py BAK_DIR/
-cp -a pywikipedia/user-config.py BAK_DIR/
-
-# protect 'user-config.py' on productive (and on html-source)
-echo protect 'user-config.py' on 
-echo - productive
-chmod go-rwx ./pywikipedia/user-config.py
-#echo - html-source
-#chmod go-rwx ./public_html/source/pywikipedia/user-config.py
-
-
-# backup 'data' on productive
-echo
-echo backup 'data' on 
-echo - productive
-cp -a data/ BAK_DIR/
-
-# protect 'data' on productive
-echo protect 'data' on 
-echo - productive
-chmod -R go-rwx ./data
-
-
-# compress and backup 'logs' on productive
-echo
-echo backup 'logs' on 
-echo - productive
-tar -jcvf BAK_DIR/DrTrigonBot_logs.tar.bz2 public_html/DrTrigonBot/*/*
diff --git a/fabfile.py b/fabfile.py
index a65ef42..6458885 100644
--- a/fabfile.py
+++ b/fabfile.py
@@ -127,7 +127,6 @@
     _clone_git_path(repo='pywikibot/bots/drtrigonbot', 
dest='pywikibot-drtrigonbot/',
                     paths=['public_html/',
                            '/README',       # exclude 'externals/README'
-                           'backup',
                            'fabfile.py',
                            'warnuserquota.py',
                            'crontab',
@@ -165,7 +164,6 @@
 
 def sl_drtrigonbot():
     local('ln -s pywikibot-drtrigonbot/README README')
-    local('ln -s pywikibot-drtrigonbot/backup backup')
     local('ln -s pywikibot-drtrigonbot/warnuserquota.py warnuserquota.py')
 
 def sl_compat():
@@ -243,11 +241,73 @@
 
 def backup():
     """ B.A) Backup all bot code on the server    (all B.# steps) """
-    # see also 'backup' sh script ...
     # http://artymiak.com/quick-backups-with-fabric-and-python/
-    # * set file permissions ...
-    # * run backup ...
-    raise NotImplementedError
+    #
+    # See 'backup' sh script:
+    # Do a backup of sensitive and important data and since that data
+    # are private they have to be protected also.
+    # * run backup: Backup all important user and config data from
+    #   'pywikipedia/' to 'BAK_DIR/'.
+    # * set file permissions: I noticed many people using the framework haven't
+    #   set the correct access flags to their "login-data" dir. This could lead
+    #   to someone using those files to run your bot accounts. Although only
+    #   other toolserver users can see these files, its still an issue. Please
+    #   make at least that dir "not readable" for anyone but "owner". --Pyr0.
+
+    # init backup (trash old one)
+    print "init/reset backup on"
+    print "  * productive"
+    local('rm -rf ~/BAK_DIR/')
+    local('mkdir ~/BAK_DIR')
+
+    # backup and protect 'login-data' on productive
+    print "processing 'login-data':"
+    print "  * backup"
+    if LABS:    # labs-tools
+        local('cp -a ~/pywikibot-compat/login-data/ ~/BAK_DIR/')
+        local('cp -a ~/pywikibot-core/*.lwp ~/BAK_DIR/')
+    else:
+        local('cp -a ~/pywikipedia/login-data/ ~/BAK_DIR/')
+        local('cp -a ~/rewrite/*.lwp ~/BAK_DIR/')
+    print "  * protect"
+    if LABS:    # labs-tools
+        local('chmod -R go-rwx ~/pywikibot-compat/login-data')
+        local('chmod go-rwx ~/pywikibot-core/*.lwp')
+    else:
+        local('chmod -R go-rwx ~/pywikipedia/login-data')
+        local('chmod go-rwx ~/rewrite/*.lwp')
+
+    # backup and protect 'user-config.py' on productive
+    print "processing 'user-config.py':"
+    print "  * backup"
+    if LABS:    # labs-tools
+        local('cp -a ~/pywikibot-compat/user-config.py ~/BAK_DIR/')
+        local('cp -a ~/pywikibot-core/user-config.py ~/BAK_DIR/')
+    else:
+        local('cp -a ~/pywikipedia/user-config.py ~/BAK_DIR/')
+        local('cp -a ~/rewrite/user-config.py ~/BAK_DIR/')
+    print "  * protect"
+    if LABS:    # labs-tools
+        local('chmod go-rwx ~/pywikibot-compat/user-config.py')
+        local('chmod go-rwx ~/pywikibot-core/user-config.py')
+    else:
+        local('chmod go-rwx ~/pywikipedia/user-config.py')
+        local('chmod go-rwx ~/rewrite/user-config.py')
+
+    # backup and protect 'data' on productive
+    print "processing 'data':"
+    print "  * backup"
+    local('cp -a ~/data/ ~/BAK_DIR/')
+    print "  * protect"
+    local('chmod -R go-rwx ~/data')
+
+    # compress and backup 'logs' on productive
+    print "processing 'logs':"
+    print "  * compress and backup"
+    if LABS:    # labs-tools
+        local('tar -jcvf ~/BAK_DIR/DrTrigonBot_logs.tar.bz2 ~/public_html/*/*')
+    else:
+        local('tar -jcvf ~/BAK_DIR/DrTrigonBot_logs.tar.bz2 
~/public_html/DrTrigonBot/*/*')
 
 def list_large_files():
     """ L.A) List all files exceeding 5 and 10MB  (all L.# steps) """

-- 
To view, visit https://gerrit.wikimedia.org/r/89415
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia9115847856661b7f45655928cea960990597b34
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/bots/drtrigonbot
Gerrit-Branch: master
Gerrit-Owner: DrTrigon <[email protected]>
Gerrit-Reviewer: DrTrigon <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to