Пример #1
0
 function process_scheduled_backup($cron_id)
 {
     if (!class_exists('backupbuddy_core')) {
         require_once pb_backupbuddy::plugin_path() . '/classes/core.php';
     }
     if (!isset(pb_backupbuddy::$options)) {
         $this->load();
     }
     // Verify directories.
     backupbuddy_core::verify_directories($skipTempGeneration = true);
     pb_backupbuddy::status('details', 'cron_process_scheduled_backup: ' . $cron_id);
     $preflight_message = '';
     $preflight_checks = backupbuddy_core::preflight_check();
     foreach ($preflight_checks as $preflight_check) {
         if ($preflight_check['success'] !== true) {
             pb_backupbuddy::status('warning', $preflight_check['message']);
         }
     }
     if (isset(pb_backupbuddy::$options['schedules'][$cron_id]) && is_array(pb_backupbuddy::$options['schedules'][$cron_id])) {
         // If schedule is disabled then just return. Bail out!
         if (isset(pb_backupbuddy::$options['schedules'][$cron_id]['on_off']) && pb_backupbuddy::$options['schedules'][$cron_id]['on_off'] == '0') {
             pb_backupbuddy::status('message', 'Schedule `' . $cron_id . '` NOT run due to being disabled based on this schedule\'s settings.');
             return;
         }
         pb_backupbuddy::$options['schedules'][$cron_id]['last_run'] = time();
         // update last run time.
         pb_backupbuddy::save();
         if (!isset(pb_backupbuddy::$classes['backup'])) {
             require_once pb_backupbuddy::plugin_path() . '/classes/backup.php';
             pb_backupbuddy::$classes['backup'] = new pb_backupbuddy_backup();
         }
         if (pb_backupbuddy::$options['schedules'][$cron_id]['delete_after'] == '1') {
             $delete_after = true;
             pb_backupbuddy::status('details', 'Option to delete file after successful transfer enabled.');
         } else {
             $delete_after = false;
             pb_backupbuddy::status('details', 'Option to delete file after successful transfer disabled.');
         }
         // If any remote destinations are set then add these to the steps to perform after the backup.
         $post_backup_steps = array();
         $destinations = explode('|', pb_backupbuddy::$options['schedules'][$cron_id]['remote_destinations']);
         $found_valid_destination = false;
         // Remove any invalid destinations from this run.
         foreach ($destinations as $destination_index => $destination) {
             if (!isset($destination) || $destination == '') {
                 // Remove.
                 unset($destinations[$destination_index]);
             }
             if (!isset(pb_backupbuddy::$options['remote_destinations'][$destination])) {
                 // Destination ID is invalid; remove.
                 unset($destinations[$destination_index]);
             }
         }
         $destination_count = count($destinations);
         $i = 0;
         foreach ($destinations as $destination) {
             $i++;
             if ($i >= $destination_count) {
                 // Last destination. Delete after if enabled.
                 $this_delete_after = $delete_after;
                 pb_backupbuddy::status('details', 'Last destination set to send to so this file deletion will be determined by settings.');
             } else {
                 // More destinations to send to. Only delete after final send.
                 $this_delete_after = false;
                 pb_backupbuddy::status('details', 'More destinations are set to send to so this file will not be deleted after send.');
             }
             $args = array($destination, $this_delete_after);
             pb_backupbuddy::status('details', 'Adding send step with args `' . implode(',', $args) . '`.');
             array_push($post_backup_steps, array('function' => 'send_remote_destination', 'args' => $args, 'start_time' => 0, 'finish_time' => 0, 'attempts' => 0));
             $found_valid_destination = true;
             pb_backupbuddy::status('details', 'Found valid destination.');
         }
         $profile_array = pb_backupbuddy::$options['profiles'][pb_backupbuddy::$options['schedules'][$cron_id]['profile']];
         if (pb_backupbuddy::$classes['backup']->start_backup_process($profile_array, 'scheduled', array(), $post_backup_steps, pb_backupbuddy::$options['schedules'][$cron_id]['title']) !== true) {
             pb_backupbuddy::status('error', 'Error #4564658344443: Backup failure. See earlier logging details for more information.');
         }
     }
     pb_backupbuddy::status('details', 'Finished cron_process_scheduled_backup.');
 }
Пример #2
0
	<li data-class="profile_choose">Click a backup type to start a backup now...</li>
	<li data-id="pb_backupbuddy_afterbackupremote">Select to send a backup to a remote destination after the manual backup completes. After selecting this option select a profile above to start a backup.</li>
	<li data-class="nav-tab-0">Backups stored on this server are listed here... Hover over backups listed for additional options such as sending to another server or restoring files.</li>
	<li data-class="nav-tab-1" data-button="Finish">This provides a historical listing of recently created backups and the status of each.</li>
</ol>
<script>
jQuery(window).load(function() {
	jQuery(document).on( 'click', '.pb_backupbuddy_begintour', function(e) {
		jQuery("#pb_backupbuddy_tour").joyride({
			tipLocation: 'top',
		});
		return false;
	});
});
</script>
<?php 
// END TOUR.
backupbuddy_core::versions_confirm();
$alert_message = array();
$preflight_checks = backupbuddy_core::preflight_check();
foreach ($preflight_checks as $preflight_check) {
    if ($preflight_check['success'] !== true) {
        //$alert_message[] = $preflight_check['message'];
        pb_backupbuddy::disalert($preflight_check['test'], $preflight_check['message']);
    }
}
if (count($alert_message) > 0) {
    //pb_backupbuddy::alert( implode( '<hr style="border: 1px dashed #E6DB55; border-bottom: 0;">', $alert_message ) );
}
$view_data['backups'] = backupbuddy_core::backups_list('default');
pb_backupbuddy::load_view('_backup-home', $view_data);