Changeset 2310552
- Timestamp:
- 05/23/2020 02:25:35 AM (6 years ago)
- Location:
- backup-restore-manager
- Files:
-
- 218 added
- 5 edited
-
tags/1.0.1 (added)
-
tags/1.0.1/admin (added)
-
tags/1.0.1/admin/actions.php (added)
-
tags/1.0.1/admin/backups-table.php (added)
-
tags/1.0.1/admin/backups.php (added)
-
tags/1.0.1/admin/constants.php (added)
-
tags/1.0.1/admin/extensions.php (added)
-
tags/1.0.1/admin/faq.php (added)
-
tags/1.0.1/admin/filesystem-credentials.php (added)
-
tags/1.0.1/admin/hmbkp_functions.php (added)
-
tags/1.0.1/admin/menu.php (added)
-
tags/1.0.1/admin/page.php (added)
-
tags/1.0.1/admin/schedule-form-excludes.php (added)
-
tags/1.0.1/admin/schedule-form.php (added)
-
tags/1.0.1/admin/schedule-sentence.php (added)
-
tags/1.0.1/admin/schedule-settings.php (added)
-
tags/1.0.1/admin/schedule-upload_backup.php (added)
-
tags/1.0.1/admin/server-info.php (added)
-
tags/1.0.1/assets (added)
-
tags/1.0.1/assets/hmbkp.css (added)
-
tags/1.0.1/assets/hmbkp.js (added)
-
tags/1.0.1/assets/hmbkp.min.css (added)
-
tags/1.0.1/assets/hmbkp.min.js (added)
-
tags/1.0.1/assets/spinner-2x.gif (added)
-
tags/1.0.1/assets/spinner.gif (added)
-
tags/1.0.1/backdrop (added)
-
tags/1.0.1/backdrop/hm-backdrop.php (added)
-
tags/1.0.1/backdrop/license.txt (added)
-
tags/1.0.1/backdrop/namespace.php (added)
-
tags/1.0.1/backdrop/server.php (added)
-
tags/1.0.1/backdrop/task.php (added)
-
tags/1.0.1/backup-restore-manager.php (added)
-
tags/1.0.1/classes (added)
-
tags/1.0.1/classes/backup (added)
-
tags/1.0.1/classes/backup/class-backup-engine-database-imysqldump.php (added)
-
tags/1.0.1/classes/backup/class-backup-engine-database-mysqldump.php (added)
-
tags/1.0.1/classes/backup/class-backup-engine-database.php (added)
-
tags/1.0.1/classes/backup/class-backup-engine-file-zip-archive.php (added)
-
tags/1.0.1/classes/backup/class-backup-engine-file-zip.php (added)
-
tags/1.0.1/classes/backup/class-backup-engine-file.php (added)
-
tags/1.0.1/classes/backup/class-backup-engine.php (added)
-
tags/1.0.1/classes/backup/class-backup-status.php (added)
-
tags/1.0.1/classes/backup/class-backup-utilities.php (added)
-
tags/1.0.1/classes/backup/class-backup.php (added)
-
tags/1.0.1/classes/class-backupwordpress-wp-cli-command.php (added)
-
tags/1.0.1/classes/class-email-service.php (added)
-
tags/1.0.1/classes/class-excludes.php (added)
-
tags/1.0.1/classes/class-extensions.php (added)
-
tags/1.0.1/classes/class-notices.php (added)
-
tags/1.0.1/classes/class-path.php (added)
-
tags/1.0.1/classes/class-plugin.php (added)
-
tags/1.0.1/classes/class-requirement.php (added)
-
tags/1.0.1/classes/class-requirements.php (added)
-
tags/1.0.1/classes/class-scheduled-backup.php (added)
-
tags/1.0.1/classes/class-schedules.php (added)
-
tags/1.0.1/classes/class-service.php (added)
-
tags/1.0.1/classes/class-services.php (added)
-
tags/1.0.1/classes/class-setup.php (added)
-
tags/1.0.1/classes/class-site-size.php (added)
-
tags/1.0.1/classes/class-webhook-service.php (added)
-
tags/1.0.1/classes/class-wpremote-webhook-service.php (added)
-
tags/1.0.1/classes/deprecated.php (added)
-
tags/1.0.1/functions (added)
-
tags/1.0.1/functions/core.php (added)
-
tags/1.0.1/functions/interface.php (added)
-
tags/1.0.1/languages (added)
-
tags/1.0.1/languages/prefork (added)
-
tags/1.0.1/languages/prefork/backupwordpress-ca_ES.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-ca_ES.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-cs_CZ.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-cs_CZ.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-da_DK.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-da_DK.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-de_DE.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-de_DE.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-el_GR.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-el_GR.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-en_AU.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-en_AU.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-en_GB.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-en_GB.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-es_ES.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-es_ES.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-eu.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-eu.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-fr_FR.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-fr_FR.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-he_IL.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-he_IL.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-it_IT.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-it_IT.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-lt_LT.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-lt_LT.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-lv_LV.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-lv_LV.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-nl_NL.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-nl_NL.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-pl_PL.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-pl_PL.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-pt_BR.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-pt_BR.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-ro_RO.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-ro_RO.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-ru_RU.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-ru_RU.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-sk_SK.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-sk_SK.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-sr_RS.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-sr_RS.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress-zh-cn.mo (added)
-
tags/1.0.1/languages/prefork/backupwordpress-zh-cn.po (added)
-
tags/1.0.1/languages/prefork/backupwordpress.pot (added)
-
tags/1.0.1/readme.txt (added)
-
tags/1.0.1/restore.sh (added)
-
tags/1.0.1/uninstall.php (added)
-
tags/1.0.1/vendor (added)
-
tags/1.0.1/vendor/autoload.php (added)
-
tags/1.0.1/vendor/composer (added)
-
tags/1.0.1/vendor/composer/ClassLoader.php (added)
-
tags/1.0.1/vendor/composer/LICENSE (added)
-
tags/1.0.1/vendor/composer/autoload_classmap.php (added)
-
tags/1.0.1/vendor/composer/autoload_namespaces.php (added)
-
tags/1.0.1/vendor/composer/autoload_psr4.php (added)
-
tags/1.0.1/vendor/composer/autoload_real.php (added)
-
tags/1.0.1/vendor/composer/autoload_static.php (added)
-
tags/1.0.1/vendor/composer/installed.json (added)
-
tags/1.0.1/vendor/ifsnop (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/composer.json (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src/Ifsnop (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src/Ifsnop/Mysqldump (added)
-
tags/1.0.1/vendor/ifsnop/mysqldump-php/src/Ifsnop/Mysqldump/Mysqldump.php (added)
-
tags/1.0.1/vendor/symfony (added)
-
tags/1.0.1/vendor/symfony/finder (added)
-
tags/1.0.1/vendor/symfony/finder/Adapter (added)
-
tags/1.0.1/vendor/symfony/finder/Adapter/AbstractAdapter.php (added)
-
tags/1.0.1/vendor/symfony/finder/Adapter/AbstractFindAdapter.php (added)
-
tags/1.0.1/vendor/symfony/finder/Adapter/AdapterInterface.php (added)
-
tags/1.0.1/vendor/symfony/finder/Adapter/BsdFindAdapter.php (added)
-
tags/1.0.1/vendor/symfony/finder/Adapter/GnuFindAdapter.php (added)
-
tags/1.0.1/vendor/symfony/finder/Adapter/PhpAdapter.php (added)
-
tags/1.0.1/vendor/symfony/finder/CHANGELOG.md (added)
-
tags/1.0.1/vendor/symfony/finder/Comparator (added)
-
tags/1.0.1/vendor/symfony/finder/Comparator/Comparator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Comparator/DateComparator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Comparator/NumberComparator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Exception (added)
-
tags/1.0.1/vendor/symfony/finder/Exception/AccessDeniedException.php (added)
-
tags/1.0.1/vendor/symfony/finder/Exception/AdapterFailureException.php (added)
-
tags/1.0.1/vendor/symfony/finder/Exception/ExceptionInterface.php (added)
-
tags/1.0.1/vendor/symfony/finder/Exception/OperationNotPermitedException.php (added)
-
tags/1.0.1/vendor/symfony/finder/Exception/ShellCommandFailureException.php (added)
-
tags/1.0.1/vendor/symfony/finder/Expression (added)
-
tags/1.0.1/vendor/symfony/finder/Expression/Expression.php (added)
-
tags/1.0.1/vendor/symfony/finder/Expression/Glob.php (added)
-
tags/1.0.1/vendor/symfony/finder/Expression/Regex.php (added)
-
tags/1.0.1/vendor/symfony/finder/Expression/ValueInterface.php (added)
-
tags/1.0.1/vendor/symfony/finder/Finder.php (added)
-
tags/1.0.1/vendor/symfony/finder/Glob.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/CustomFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/FilePathsIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/FilenameFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/FilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/PathFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/Iterator/SortableIterator.php (added)
-
tags/1.0.1/vendor/symfony/finder/LICENSE (added)
-
tags/1.0.1/vendor/symfony/finder/Shell (added)
-
tags/1.0.1/vendor/symfony/finder/Shell/Command.php (added)
-
tags/1.0.1/vendor/symfony/finder/Shell/Shell.php (added)
-
tags/1.0.1/vendor/symfony/finder/SplFileInfo.php (added)
-
tags/1.0.1/vendor/symfony/finder/composer.json (added)
-
tags/1.0.1/vendor/symfony/finder/phpunit.xml.dist (added)
-
tags/1.0.1/vendor/symfony/process (added)
-
tags/1.0.1/vendor/symfony/process/CHANGELOG.md (added)
-
tags/1.0.1/vendor/symfony/process/Exception (added)
-
tags/1.0.1/vendor/symfony/process/Exception/ExceptionInterface.php (added)
-
tags/1.0.1/vendor/symfony/process/Exception/InvalidArgumentException.php (added)
-
tags/1.0.1/vendor/symfony/process/Exception/LogicException.php (added)
-
tags/1.0.1/vendor/symfony/process/Exception/ProcessFailedException.php (added)
-
tags/1.0.1/vendor/symfony/process/Exception/ProcessTimedOutException.php (added)
-
tags/1.0.1/vendor/symfony/process/Exception/RuntimeException.php (added)
-
tags/1.0.1/vendor/symfony/process/ExecutableFinder.php (added)
-
tags/1.0.1/vendor/symfony/process/LICENSE (added)
-
tags/1.0.1/vendor/symfony/process/PhpExecutableFinder.php (added)
-
tags/1.0.1/vendor/symfony/process/PhpProcess.php (added)
-
tags/1.0.1/vendor/symfony/process/Pipes (added)
-
tags/1.0.1/vendor/symfony/process/Pipes/AbstractPipes.php (added)
-
tags/1.0.1/vendor/symfony/process/Pipes/PipesInterface.php (added)
-
tags/1.0.1/vendor/symfony/process/Pipes/UnixPipes.php (added)
-
tags/1.0.1/vendor/symfony/process/Pipes/WindowsPipes.php (added)
-
tags/1.0.1/vendor/symfony/process/Process.php (added)
-
tags/1.0.1/vendor/symfony/process/ProcessBuilder.php (added)
-
tags/1.0.1/vendor/symfony/process/ProcessUtils.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests (added)
-
tags/1.0.1/vendor/symfony/process/Tests/ExecutableFinderTest.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/NonStopableProcess.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/PhpExecutableFinderTest.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/PhpProcessTest.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/ProcessBuilderTest.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/ProcessTest.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/ProcessUtilsTest.php (added)
-
tags/1.0.1/vendor/symfony/process/Tests/SignalListener.php (added)
-
tags/1.0.1/vendor/symfony/process/composer.json (added)
-
tags/1.0.1/vendor/symfony/process/phpunit.xml.dist (added)
-
tags/1.0.1/whitelist-html (added)
-
tags/1.0.1/whitelist-html/whitelist-html.php (added)
-
trunk/admin/schedule-sentence.php (modified) (4 diffs)
-
trunk/backup-restore-manager.php (modified) (1 diff)
-
trunk/classes/class-plugin.php (modified) (1 diff)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/restore.sh (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
backup-restore-manager/trunk/admin/schedule-sentence.php
r2293954 r2310552 169 169 /* OBZMOD */ 170 170 171 if ( file_exists( Path::get_path() . '/backup-restore-manager-cron' ) ) { 172 $hmbkp_cronmode = trim( file_get_contents( Path::get_path() . '/backup-restore-manager-cron' ) ); 171 if ( is_readable( Path::get_path() . '/backup-restore-manager-cron' ) ) { 172 $hmbkp_cron_lastrun = time()-filemtime( Path::get_path() . '/backup-restore-manager-cron' ); 173 $hmbkp_cronmode_tmp = trim( file_get_contents( Path::get_path() . '/backup-restore-manager-cron' ) ); 174 if ( ( $hmbkp_cronmode_tmp == 'yes' ) AND ($hmbkp_cron_lastrun<300) ) $hmbkp_cronmode = true; else $hmbkp_cronmode = false; 173 175 } 174 176 else { … … 176 178 file_put_contents( Path::get_path() . '/backup-restore-manager-cron', 'no' ); 177 179 } 178 $hmbkp_cronmode = 'no';180 $hmbkp_cronmode = false; 179 181 } 180 182 … … 259 261 $hmbkp_restore_file = esc_attr( sanitize_text_field( file_get_contents( Path::get_path() . '/restore.txt' ) ) ); 260 262 261 if ( $hmbkp_cronmode == 'yes') {263 if ( $hmbkp_cronmode ) { 262 264 if ( file_exists( Path::get_path() . '/' . $hmbkp_restore_file ) ) $hmbkp_filesize = filesize( Path::get_path() . '/' . $hmbkp_restore_file ); else $hmbkp_filesize = 10000000; 263 265 … … 287 289 ' . $hmbkp_restore_file . '<br><br> 288 290 <p style="margin: 10px;">' . esc_html__( 'Enter the following commands in the shell/console to restore this backup (Linux only):', 'backup-restore-manager' ) . '</p> 289 <input type="text" style="width: 700px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value="chmod +x ' . plugin_dir_path(__DIR__) . 'restore.sh" onclick="this.select()"><br>290 <input type="text" style="width: 700px; margin: 15px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value=". ' . plugin_dir_path(__DIR__) . 'restore.sh" onclick="this.select()"><br>291 <input type="text" style="width: 700px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value="chmod +x ' . plugin_dir_path(__DIR__) . 'restore.sh"><br> 292 <input type="text" style="width: 700px; margin: 15px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value=". ' . plugin_dir_path(__DIR__) . 'restore.sh"><br> 291 293 <form method="post" name="hmbkp_restore_confirm" action="' . $hmbkp_phpself . '?page=backup-restore-manager' . $hmbkp_schedule_id_str . '"> 292 294 <input type="hidden" name="hmbkp_restore" value="' . $hmbkp_restore_file . '"> -
backup-restore-manager/trunk/backup-restore-manager.php
r2293954 r2310552 4 4 Plugin URI: https://wordpress.org/plugins/backup-restore-manager/ 5 5 Description: Simple automated Backup and Restore of your WordPress Website. 6 Version: 1.0. 06 Version: 1.0.1 7 7 Author: OnionBazaar 8 8 Author URI: https://onionbazaar.org -
backup-restore-manager/trunk/classes/class-plugin.php
r2293954 r2310552 10 10 const PLUGIN_VERSION = '3.6.4'; 11 11 */ 12 const PLUGIN_VERSION = '1.0. 0';12 const PLUGIN_VERSION = '1.0.1'; 13 13 /* OBZMOD */ 14 14 /** -
backup-restore-manager/trunk/readme.txt
r2293954 r2310552 4 4 Tags: backup, restore, recover, backupwordpress, backups, clone, database, zip, db, migrate, file backup, archive 5 5 Requires at least: 3.9 6 Tested up to: 5.4 7 Stable tag: 1.0. 06 Tested up to: 5.4.1 7 Stable tag: 1.0.1 8 8 License: GNU General Public License v3.0 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 19 19 If you are already using BackUpWordPress, switching to Backup & Restore Manager will retain all your settings, schedules and backups (and vice versa). 20 20 21 For support, head over to the [WordPress Support Forum](https://wordpress.org/support/plugin/backup-restore-manager) or [https://onionbazaar.org/ p=support](https://onionbazaar.org/p=support) for direct support.21 For support, head over to the [WordPress Support Forum](https://wordpress.org/support/plugin/backup-restore-manager) or [https://onionbazaar.org/?p=help](https://onionbazaar.org/?p=help) for direct support. 22 22 23 23 This plugin requires PHP version 5.3.2 or later … … 103 103 == Changelog == 104 104 105 = 1.0.1 - 2020-05-23 = 106 * Minor changes restore script cronmode 107 105 108 = 1.0.0 - 2020-04-28 = 106 109 * Fork of BackUpWordPress 3.6.4. Added backup upload and restore functionality. The management and development of the plugin is done by [OnionBazaar](https://onionbazaar.org) -
backup-restore-manager/trunk/restore.sh
r2293954 r2310552 2 2 3 3 echo "### WordPress Restore ###" 4 5 PASS=true6 4 7 5 # detect wordpress directory … … 14 12 else 15 13 echo "# ERROR: Wordpress directory not found. Edit this script if you are using a non-default directory structure." 16 PASS=false14 return 17 15 fi 18 16 19 17 # detect backup directory 20 21 18 hits=0 22 for filenamepathin $WPDIR/wp-content/*; do23 [ -e "$ filenamepath" ] || continue24 if [[ $ filenamepath== *"backupwordpress"* ]]; then19 for BACKUPDIRPATH in $WPDIR/wp-content/*; do 20 [ -e "$BACKUPDIRPATH" ] || continue 21 if [[ $BACKUPDIRPATH == *"backupwordpress"* ]]; then 25 22 ((hits++)) 26 BACKUPDIR="$ filenamepath"23 BACKUPDIR="$BACKUPDIRPATH" 27 24 echo "# Backup Directory: $BACKUPDIR" 28 25 fi … … 31 28 if (( $hits == 0)); then 32 29 33 for filenamepathin $WPDIR/wp-content/uploads/*; do34 [ -e "$ filenamepath" ] || continue35 if [[ $ filenamepath== *"backupwordpress"* ]]; then30 for BACKUPDIRPATH in $WPDIR/wp-content/uploads/*; do 31 [ -e "$BACKUPDIRPATH" ] || continue 32 if [[ $BACKUPDIRPATH == *"backupwordpress"* ]]; then 36 33 ((hits++)) 37 BACKUPDIR="$ filenamepath"34 BACKUPDIR="$BACKUPDIRPATH" 38 35 BACKUPPRE="/uploads" 39 36 echo "# Backup Directory: $BACKUPDIR" … … 43 40 if (( $hits == 0)); then 44 41 echo "# ERROR: Backup directory not found. edit this script if you are using a non-default directory structure." 45 PASS=false 46 fi 42 return 43 fi 44 fi 45 46 #setting cronmode to yes if run as cron 47 if [ ! -t 1 ] ; then 48 echo "yes" > "$BACKUPDIR/backup-restore-manager-cron" 47 49 fi 48 50 … … 64 66 else 65 67 echo "# ERROR: Backuptype not detected. Make sure backup files are not renamed." 66 PASS=false68 return 67 69 fi 68 70 else 69 echo "# No Restore Job found. Initiate a Restore in the Backup & Restore Manager Plugin first."70 PASS=false71 echo "# No Restore Job found." 72 return 71 73 fi 72 74 73 75 #start restore process 74 if ($PASS == true); then 75 76 #get pre-backup (currently active) sql credentials and sitename 77 echo "# reading SQL credentials from current wp-config.php ..." 78 if [ -r "$WPDIR/wp-config.php" ]; then 79 SQLHOSTR=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php ) 80 SQLHOST=${SQLHOSTR#"'"} 81 SQLHOST=${SQLHOST%"'"} 82 echo "# Current SQL Host: $SQLHOST" 83 SQLDBR=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php ) 84 SQLDB=${SQLDBR#"'"} 85 SQLDB=${SQLDB%"'"} 86 echo "# Current SQL Database: $SQLDB" 87 SQLUSERR=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php ) 88 SQLUSER=${SQLUSERR#"'"} 89 SQLUSER=${SQLUSER%"'"} 90 echo "# Current SQL Username: $SQLUSER" 91 SQLPASSR=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php ) 92 SQLPASS=${SQLPASSR#"'"} 93 SQLPASS=${SQLPASS%"'"} 94 echo "# Current SQL Password: [hidden]" 95 96 if (($BACKUPTYPE < 3)); then 97 WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 76 #get pre-backup (currently active) sql credentials and sitename 77 echo "# reading SQL credentials from current wp-config.php ..." 78 if [ -r "$WPDIR/wp-config.php" ]; then 79 SQLHOSTR=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php ) 80 SQLHOST=${SQLHOSTR#"'"} 81 SQLHOST=${SQLHOST%"'"} 82 echo "# Current SQL Host: $SQLHOST" 83 SQLDBR=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php ) 84 SQLDB=${SQLDBR#"'"} 85 SQLDB=${SQLDB%"'"} 86 echo "# Current SQL Database: $SQLDB" 87 SQLUSERR=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php ) 88 SQLUSER=${SQLUSERR#"'"} 89 SQLUSER=${SQLUSER%"'"} 90 echo "# Current SQL Username: $SQLUSER" 91 SQLPASSR=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php ) 92 SQLPASS=${SQLPASSR#"'"} 93 SQLPASS=${SQLPASS%"'"} 94 echo "# Current SQL Password: [hidden]" 95 96 if (($BACKUPTYPE < 3)); then 97 WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 98 echo "# Current Site URL: $WPSITEURL" 99 WPHOME=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'") 100 echo "# Current Home: $WPHOME" 101 fi 102 else 103 #wp-config.php not readable, ask for credentials if not cronmode 104 if [ ! -t 1 ] ; then 105 echo "# Could not retrieve SQL credentials from wp-config.php. Exiting." 106 return 107 else 108 if [ -f "$WPDIR/wp-config.php" ]; then 109 echo "#-> wp-config.php not readable. Enter your SQL credentials to restore the database:" 110 else 111 echo "#-> wp-config.php not found. Enter your SQL credentials to restore the database:" 112 fi 113 echo -n "Host: " 114 read SQLHOST 115 echo -n "Database: " 116 read SQLDB 117 echo -n "Username: " 118 read SQLUSER 119 echo -n "Password: " 120 read SQLPASS 121 WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 122 if [ -z "$WPSITEURL" ]; then 123 echo "# ERROR: Could not get Website URL from Database, probably incorrect credentials. Try again." 124 return 125 else 98 126 echo "# Current Site URL: $WPSITEURL" 99 127 WPHOME=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'") 100 128 echo "# Current Home: $WPHOME" 101 129 fi 102 else 103 #wp-config.php not readable, ask for credentials if not cronmode 104 CRONMODE=`cat $BACKUPDIR/backup-restore-manager-cron` 105 if [ "$CRONMODE" == "yes" ]; then 106 echo "# Could not retrieve SQL credentials from wp-config.php. Exiting." 107 return 130 fi 131 fi 132 133 #delete restore job file 134 rm -f "$BACKUPDIR/restore.txt" 135 136 #install unzip 137 if [ ! -n "$(command -v unzip)" ]; then 138 if [ -n "$(command -v yum)" ]; then 139 PMGR="yum" 108 140 else 109 if [ -f "$WPDIR/wp-config.php" ]; then 110 echo "# wp-config.php not readable. Enter your SQL credentials to restore the database:" 111 else 112 echo "# wp-config.php not found. Enter your SQL credentials to restore the database:" 113 fi 114 echo -n "Host: " 115 read SQLHOST 116 echo -n "Database: " 117 read SQLDB 118 echo -n "Username: " 119 read SQLUSER 120 echo -n "Password: " 121 read SQLPASS 122 WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 123 if [ -z "$WPSITEURL" ]; then 124 echo "# ERROR: Could not get Website URL from Database, probably incorrect credentials. Try again." 125 return 126 else 127 echo "# Current Site URL: $WPSITEURL" 128 WPHOME=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'") 129 echo "# Current Home: $WPHOME" 130 fi 141 PMGR="apt-get" 131 142 fi 132 fi 133 134 #delete restore job file 135 rm -f "$BACKUPDIR/restore.txt" 136 137 #install unzip 138 if [ ! -n "$(command -v unzip)" ]; then 139 if [ -n "$(command -v yum)" ]; then 140 PMGR="yum" 141 else 142 PMGR="apt-get" 143 fi 144 echo "# installing unzip ..." 145 $PMGR -y install unzip 146 fi 147 148 echo "# restoring Backup $BACKUPFILE ..." 149 SITENAME=${BACKUPFILE::-44} 150 151 #restore database and files 152 if (($BACKUPTYPE == 1)); then 153 154 #create temp directory for old files 155 echo "# moving files to subfolder ..." 156 if [ -d $WPDIR/backup-restore-manager-old ]; then 157 rm -r -f $WPDIR/backup-restore-manager-old 158 fi 159 mkdir $WPDIR/backup-restore-manager-old 160 shopt -s dotglob 161 mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null 162 163 #extract backupfile 164 BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)" 165 echo "# extracting $BACKUPFILE to $WPDIR ..." 166 unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR" 167 168 #move backup directory 169 mv -f $BACKUPDIROLD $BACKUPDIR 170 171 #delete temp directory 143 echo "# installing unzip ..." 144 $PMGR -y install unzip 145 fi 146 147 echo "# restoring Backup $BACKUPFILE ..." 148 SITENAME=${BACKUPFILE::-44} 149 150 #restore database and files 151 if (($BACKUPTYPE == 1)); then 152 153 #create temp directory for old files 154 echo "# moving files to subfolder ..." 155 if [ -d $WPDIR/backup-restore-manager-old ]; then 172 156 rm -r -f $WPDIR/backup-restore-manager-old 173 174 #get sql credentials from backup 175 echo "# reading SQL credentials from backup wp-config.php ..." 176 SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php ) 177 SQLHOSTBCK=${SQLHOSTRBCK#"'"} 178 SQLHOSTBCK=${SQLHOSTBCK%"'"} 179 SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php ) 180 SQLDBBCK=${SQLDBRBCK#"'"} 181 SQLDBBCK=${SQLDBBCK%"'"} 182 SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php ) 183 SQLUSERBCK=${SQLUSERRBCK#"'"} 184 SQLUSERBCK=${SQLUSERBCK%"'"} 185 SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php ) 186 SQLPASSBCK=${SQLPASSRBCK#"'"} 187 SQLPASSBCK=${SQLPASSBCK%"'"} 188 189 if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then 190 echo "# SQL credentials unchanged" 191 else 192 echo "# SQL credentials changed, write them to wp-config" 193 sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php 194 sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php 195 sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php 196 sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php 197 fi 198 199 #restore database 200 for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do 201 [ -e "$SQLFILENAMEPATH" ] || continue 202 SQLFILENAME="${SQLFILENAMEPATH##*/}" 203 echo "# importing $WPDIR/$SQLFILENAME ..." 204 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;" 205 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;" 206 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH" 207 echo "# removing $WPDIR/$SQLFILENAME ..." 208 rm -f "$WPDIR/$SQLFILENAME" 209 break 210 done 211 212 #get siteurl and home from backup 213 echo "# reading Site/Home URL from backup database ..." 214 WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 215 WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'") 216 217 if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then 218 echo "# Site/Home URL unchanged" 219 else 220 echo "# Site/Home URL changed, write them to database ..." 221 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'" 222 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'" 223 fi 224 echo "# Database and File Restore Complete!" 157 fi 158 mkdir $WPDIR/backup-restore-manager-old 159 shopt -s dotglob 160 mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null 161 162 #extract backupfile 163 BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)" 164 echo "# extracting $BACKUPFILE to $WPDIR ..." 165 unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR" 166 167 #move backup directory 168 mv -f $BACKUPDIROLD $BACKUPDIR 169 170 #delete temp directory 171 rm -r -f $WPDIR/backup-restore-manager-old 172 173 #get sql credentials from backup 174 echo "# reading SQL credentials from backup wp-config.php ..." 175 SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php ) 176 SQLHOSTBCK=${SQLHOSTRBCK#"'"} 177 SQLHOSTBCK=${SQLHOSTBCK%"'"} 178 SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php ) 179 SQLDBBCK=${SQLDBRBCK#"'"} 180 SQLDBBCK=${SQLDBBCK%"'"} 181 SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php ) 182 SQLUSERBCK=${SQLUSERRBCK#"'"} 183 SQLUSERBCK=${SQLUSERBCK%"'"} 184 SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php ) 185 SQLPASSBCK=${SQLPASSRBCK#"'"} 186 SQLPASSBCK=${SQLPASSBCK%"'"} 187 188 if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then 189 echo "# SQL credentials unchanged" 190 else 191 echo "# SQL credentials changed, write them to wp-config" 192 sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php 193 sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php 194 sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php 195 sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php 196 fi 225 197 226 198 #restore database 227 elif (($BACKUPTYPE == 2)); then 228 229 #extract backupfile 230 echo "# extracting $BACKUPFILE to $WPDIR ..." 231 unzip -o -q "$BACKUPDIR/$BACKUPFILE" -d "$WPDIR" 232 233 for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do 234 [ -e "$SQLFILENAMEPATH" ] || continue 235 SQLFILENAME="${SQLFILENAMEPATH##*/}" 236 echo "# importing $WPDIR/$SQLFILENAME" 237 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;" 238 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;" 239 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH" 240 echo "# removing $WPDIR/$SQLFILENAME" 241 rm -f "$WPDIR/$SQLFILENAME" 242 break 243 done 244 245 #get siteurl and home from backup 246 echo "# reading Site/Home URL from backup database ..." 247 WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 248 WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'") 249 250 if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then 251 echo "# Site/Home URL unchanged" 252 else 253 echo "# Site/Home URL changed, write them to database ..." 254 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'" 255 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'" 256 fi 257 echo "# Database Restore Complete!" 258 259 #restore files 260 elif (($BACKUPTYPE == 3)); then 261 262 #create temp directory for old files 263 echo "# moving files to subfolder ..." 264 if [ -d $WPDIR/backup-restore-manager-old ]; then 265 rm -r -f $WPDIR/backup-restore-manager-old 266 fi 267 mkdir $WPDIR/backup-restore-manager-old 268 shopt -s dotglob 269 mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null 270 271 #extract backupfile 272 BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)" 273 echo "# extracting $BACKUPFILE to $WPDIR ..." 274 unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR" 275 276 #get sql credentials from backup 277 echo "# reading SQL credentials from backup wp-config.php ..." 278 SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php ) 279 SQLHOSTBCK=${SQLHOSTRBCK#"'"} 280 SQLHOSTBCK=${SQLHOSTBCK%"'"} 281 SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php ) 282 SQLDBBCK=${SQLDBRBCK#"'"} 283 SQLDBBCK=${SQLDBBCK%"'"} 284 SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php ) 285 SQLUSERBCK=${SQLUSERRBCK#"'"} 286 SQLUSERBCK=${SQLUSERBCK%"'"} 287 SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php ) 288 SQLPASSBCK=${SQLPASSRBCK#"'"} 289 SQLPASSBCK=${SQLPASSBCK%"'"} 290 291 if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then 292 echo "# SQL credentials unchanged" 293 else 294 echo "# SQL credentials changed, write them to wp-config ..." 295 sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php 296 sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php 297 sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php 298 sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php 299 fi 300 301 #move backup directory 302 mv -f $BACKUPDIROLD $BACKUPDIR 303 304 #delete temp directory 199 for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do 200 [ -e "$SQLFILENAMEPATH" ] || continue 201 SQLFILENAME="${SQLFILENAMEPATH##*/}" 202 echo "# importing $WPDIR/$SQLFILENAME ..." 203 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;" 204 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;" 205 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH" 206 echo "# removing $WPDIR/$SQLFILENAME ..." 207 rm -f "$WPDIR/$SQLFILENAME" 208 break 209 done 210 211 #get siteurl and home from backup 212 echo "# reading Site/Home URL from backup database ..." 213 WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 214 WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'") 215 216 if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then 217 echo "# Site/Home URL unchanged" 218 else 219 echo "# Site/Home URL changed, write them to database ..." 220 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'" 221 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'" 222 fi 223 echo "# Database and File Restore Complete!" 224 echo "$BACKUPFILE" > "$BACKUPDIR/restore_complete.txt" 225 226 #restore database 227 elif (($BACKUPTYPE == 2)); then 228 229 #extract backupfile 230 echo "# extracting $BACKUPFILE to $WPDIR ..." 231 unzip -o -q "$BACKUPDIR/$BACKUPFILE" -d "$WPDIR" 232 233 for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do 234 [ -e "$SQLFILENAMEPATH" ] || continue 235 SQLFILENAME="${SQLFILENAMEPATH##*/}" 236 echo "# importing $WPDIR/$SQLFILENAME" 237 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;" 238 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;" 239 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH" 240 echo "# removing $WPDIR/$SQLFILENAME" 241 rm -f "$WPDIR/$SQLFILENAME" 242 break 243 done 244 245 #get siteurl and home from backup 246 echo "# reading Site/Home URL from backup database ..." 247 WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'") 248 WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'") 249 250 if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then 251 echo "# Site/Home URL unchanged" 252 else 253 echo "# Site/Home URL changed, write them to database ..." 254 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'" 255 mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'" 256 fi 257 echo "# Database Restore Complete!" 258 echo "$BACKUPFILE" > "$BACKUPDIR/restore_complete.txt" 259 260 #restore files 261 elif (($BACKUPTYPE == 3)); then 262 263 #create temp directory for old files 264 echo "# moving files to subfolder ..." 265 if [ -d $WPDIR/backup-restore-manager-old ]; then 305 266 rm -r -f $WPDIR/backup-restore-manager-old 306 307 echo "# File Restore Complete!" 308 fi 267 fi 268 mkdir $WPDIR/backup-restore-manager-old 269 shopt -s dotglob 270 mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null 271 272 #extract backupfile 273 BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)" 274 echo "# extracting $BACKUPFILE to $WPDIR ..." 275 unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR" 276 277 #get sql credentials from backup 278 echo "# reading SQL credentials from backup wp-config.php ..." 279 SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php ) 280 SQLHOSTBCK=${SQLHOSTRBCK#"'"} 281 SQLHOSTBCK=${SQLHOSTBCK%"'"} 282 SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php ) 283 SQLDBBCK=${SQLDBRBCK#"'"} 284 SQLDBBCK=${SQLDBBCK%"'"} 285 SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php ) 286 SQLUSERBCK=${SQLUSERRBCK#"'"} 287 SQLUSERBCK=${SQLUSERBCK%"'"} 288 SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php ) 289 SQLPASSBCK=${SQLPASSRBCK#"'"} 290 SQLPASSBCK=${SQLPASSBCK%"'"} 291 292 if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then 293 echo "# SQL credentials unchanged" 294 else 295 echo "# SQL credentials changed, write them to wp-config ..." 296 sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php 297 sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php 298 sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php 299 sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php 300 fi 301 302 #move backup directory 303 mv -f $BACKUPDIROLD $BACKUPDIR 304 305 #delete temp directory 306 rm -r -f $WPDIR/backup-restore-manager-old 307 308 echo "# File Restore Complete!" 309 309 echo "$BACKUPFILE" > "$BACKUPDIR/restore_complete.txt" 310 310 fi 311
Note: See TracChangeset
for help on using the changeset viewer.