From 45252fdd1bc91299e83b28366ca39cb10a3fbbe9 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Mon, 28 Oct 2019 09:09:28 +0100 Subject: [PATCH] Change MySQL backup path --- CHANGELOG.md | 1 + wo/cli/plugins/clean.py | 3 ++- wo/cli/plugins/stack_upgrade.py | 19 ++++++++++--------- wo/core/fileutils.py | 17 +++++++++++++++-- wo/core/mysql.py | 12 ++++++------ 5 files changed, 34 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2a8028..6a5c1d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Improved SSL certificate error messages by displaying domain IP and server IP - Version check before updating WordOps with `wo update` is now directly handled by `wo` - Refactored WordOps download function with python3-requests +- MySQL backup path changed to `/var/lib/wo-backup/mysql` #### Fixed diff --git a/wo/cli/plugins/clean.py b/wo/cli/plugins/clean.py index 3385876..a7db5f9 100644 --- a/wo/cli/plugins/clean.py +++ b/wo/cli/plugins/clean.py @@ -75,7 +75,8 @@ class WOCleanController(CementBaseController): try: Log.info(self, "Cleaning opcache") opgui = requests.get( - "https://127.0.0.1:22222/cache/opcache/opgui.php?reset=1") + "https://127.0.0.1:22222/cache/opcache/opgui.php?reset=1", + verify=False) if opgui.status_code != '200': Log.warn(self, 'Cleaning opcache failed') except Exception as e: diff --git a/wo/cli/plugins/stack_upgrade.py b/wo/cli/plugins/stack_upgrade.py index 99ba514..976aa75 100644 --- a/wo/cli/plugins/stack_upgrade.py +++ b/wo/cli/plugins/stack_upgrade.py @@ -126,12 +126,12 @@ class WOStackUpgradeController(CementBaseController): if pargs.wpcli: if os.path.isfile('/usr/local/bin/wp'): - packages = packages + [["https://github.com/wp-cli/wp-cli/" - "releases/download/v{0}/" - "wp-cli-{0}.phar" - "".format(WOVar.wo_wp_cli), - "/usr/local/bin/wp", - "WP-CLI"]] + packages = packages + [[ + "https://github.com/wp-cli/wp-cli/" + "releases/download/v{0}/" + "wp-cli-{0}.phar".format(WOVar.wo_wp_cli), + "/usr/local/bin/wp", + "WP-CLI"]] else: Log.info(self, "WPCLI is not installed with WordOps") @@ -168,9 +168,10 @@ class WOStackUpgradeController(CementBaseController): if pargs.composer: if os.path.isfile('/usr/local/bin/composer'): - packages = packages + [["https://getcomposer.org/installer", - "/var/lib/wo/tmp/composer-install", - "Composer"]] + packages = packages + [[ + "https://getcomposer.org/installer", + "/var/lib/wo/tmp/composer-install", + "Composer"]] else: Log.info(self, "Composer isn't installed") diff --git a/wo/core/fileutils.py b/wo/core/fileutils.py index 5f9ed35..7b70f5c 100644 --- a/wo/core/fileutils.py +++ b/wo/core/fileutils.py @@ -344,9 +344,9 @@ class WOFileUtils(): continue return True - def writein(self, path, content): + def textwrite(self, path, content): """ - Write content in path + Write content into a file """ Log.debug(self, "Writing content in {0}".format(path)) try: @@ -356,3 +356,16 @@ class WOFileUtils(): except IOError as e: Log.debug(self, "{0}".format(e)) Log.error(self, "Unable to write content in {0}".format(path)) + + def textappend(self, path, content): + """ + Append content to a file + """ + Log.debug(self, "Writing content in {0}".format(path)) + try: + with open("{0}".format(path), + encoding='utf-8', mode='a') as final_file: + final_file.write('{0}'.format(content)) + except IOError as e: + Log.debug(self, "{0}".format(e)) + Log.error(self, "Unable to write content in {0}".format(path)) diff --git a/wo/core/mysql.py b/wo/core/mysql.py index cd9de53..907a608 100644 --- a/wo/core/mysql.py +++ b/wo/core/mysql.py @@ -70,7 +70,7 @@ class WOMysql(): # Get login details from /etc/mysql/conf.d/my.cnf # & Execute MySQL query connection = WOMysql.connect(self) - log and Log.debug(self, "Exceuting MySQL Statement : {0}" + log and Log.debug(self, "Executing MySQL Statement : {0}" .format(statement)) try: cursor = connection.cursor() @@ -93,12 +93,12 @@ class WOMysql(): import subprocess try: Log.info(self, "Backing up database at location: " - "/var/wo-mysqlbackup") + "/var/lib/wo-backup/mysql") # Setup Nginx common directory - if not os.path.exists('/var/wo-mysqlbackup'): + if not os.path.exists('/var/lib/wo-backup/mysql'): Log.debug(self, 'Creating directory' - '/var/wo-mysqlbackup') - os.makedirs('/var/wo-mysqlbackup') + '/var/lib/wo-backup/mysql') + os.makedirs('/var/lib/wo-backup/mysql') db = subprocess.check_output(["/usr/bin/mysql " "-Bse \'show databases\'"], @@ -114,7 +114,7 @@ class WOMysql(): stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) p2 = subprocess.Popen("/usr/bin/pigz -c > " - "/var/wo-mysqlbackup/{0}{1}.sql.gz" + "/var/lib/wo-backup/mysql/{0}{1}.sql.gz" .format(dbs, WOVar.wo_date), stdin=p1.stdout, shell=True)