Version Description
Please, keep your Dropbox Backup and Restore plugin up-to-date.
Download this release
Release Info
Developer | backup-dropbox |
Plugin | Backup & Restore Dropbox |
Version | 1.6.2 |
Comparing to | |
See all releases |
Code changes from version 1.6 to 1.6.2
- dropbox-backup.php +2 -2
- img/Thumbs.db +0 -0
- main/wpadm-class-wp.php +1 -1
- methods/class-wpadm-method-send-to-dropbox.php +6 -1
- modules/dropbox.class.php +451 -130
- readme.txt +199 -238
dropbox-backup.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Dropbox Backup & Restore
|
4 |
-
Description:
|
5 |
-
Version: 1.6.
|
6 |
Text Domain: dropbox-backup
|
7 |
Domain Path: /languages/
|
8 |
*/
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Dropbox Backup & Restore
|
4 |
+
Description: Backup & Restore Dropbox Plugin to create Dropbox and Local Full Backup (Files + Database) or Restore, Duplicate, Clone or Migrate your Website
|
5 |
+
Version: 1.6.2
|
6 |
Text Domain: dropbox-backup
|
7 |
Domain Path: /languages/
|
8 |
*/
|
img/Thumbs.db
ADDED
Binary file
|
main/wpadm-class-wp.php
CHANGED
@@ -937,7 +937,7 @@
|
|
937 |
$dropbox = new dropbox($dropbox_options['app_key'], $dropbox_options['app_secret']);
|
938 |
$dropbox->setAccessToken2($dropbox_options['access_token'], $dropbox_options['token_type']);
|
939 |
}
|
940 |
-
|
941 |
$folder_project = self::getNameProject();
|
942 |
$backups = $dropbox->listing($folder_project);
|
943 |
$n = count($backups['items']);
|
937 |
$dropbox = new dropbox($dropbox_options['app_key'], $dropbox_options['app_secret']);
|
938 |
$dropbox->setAccessToken2($dropbox_options['access_token'], $dropbox_options['token_type']);
|
939 |
}
|
940 |
+
|
941 |
$folder_project = self::getNameProject();
|
942 |
$backups = $dropbox->listing($folder_project);
|
943 |
$n = count($backups['items']);
|
methods/class-wpadm-method-send-to-dropbox.php
CHANGED
@@ -257,7 +257,12 @@ if (!class_exists('WPadm_Method_Send_To_Dropbox')) {
|
|
257 |
if ( ( isset($res['size']) && isset($res['client_mtime']) ) || ( isset($res['result']['size']) && isset($res['result']['path_display']) ) ) {
|
258 |
$data_command = WPAdm_Running::getCommandResultData('command_dropbox');
|
259 |
if (!in_array($md5, $data_command)) {
|
260 |
-
|
|
|
|
|
|
|
|
|
|
|
261 |
$this->saveDataCommand($md5);
|
262 |
WPAdm_Process::setInc('dropbox', 1);
|
263 |
}
|
257 |
if ( ( isset($res['size']) && isset($res['client_mtime']) ) || ( isset($res['result']['size']) && isset($res['result']['path_display']) ) ) {
|
258 |
$data_command = WPAdm_Running::getCommandResultData('command_dropbox');
|
259 |
if (!in_array($md5, $data_command)) {
|
260 |
+
|
261 |
+
if (isset($res['result']['size'])) {
|
262 |
+
WPAdm_Core::log( __('File upload: ' ,'dropbox-backup') . basename( $file ) . __(' size: ' ,'dropbox-backup') . $res['result']['size']);
|
263 |
+
} else {
|
264 |
+
WPAdm_Core::log( __('File upload: ' ,'dropbox-backup') . basename( $file ) . __(' size: ' ,'dropbox-backup') . $res['size']);
|
265 |
+
}
|
266 |
$this->saveDataCommand($md5);
|
267 |
WPAdm_Process::setInc('dropbox', 1);
|
268 |
}
|
modules/dropbox.class.php
CHANGED
@@ -122,7 +122,50 @@ class dropbox
|
|
122 |
{
|
123 |
if ($this->oauth2) {
|
124 |
$params = array('code' => $request_token); // set code
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
$this->oauth2_obj->setAccessToken($response['result']['access_token']);
|
127 |
if ($response['result']['token_type'] == 'bearer') {
|
128 |
$this->oauth2_obj->setAccessTokenType( Client::ACCESS_TOKEN_BEARER );
|
@@ -141,6 +184,38 @@ class dropbox
|
|
141 |
}
|
142 |
}
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
/**
|
145 |
* Удаление файла
|
146 |
*
|
@@ -151,12 +226,55 @@ class dropbox
|
|
151 |
{
|
152 |
if ($this->oauth2) {
|
153 |
$this->oauth2_obj->setPOSTJSON(true);
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
return $res;
|
156 |
} else {
|
157 |
return $this->doApi("fileops/delete", "POST", array(
|
158 |
-
|
159 |
-
|
160 |
));
|
161 |
}
|
162 |
}
|
@@ -174,8 +292,8 @@ class dropbox
|
|
174 |
foreach ($files as $file) {
|
175 |
$do = $this->deleteFile($file);
|
176 |
$result[] = array (
|
177 |
-
|
178 |
-
|
179 |
);
|
180 |
}
|
181 |
|
@@ -196,9 +314,9 @@ class dropbox
|
|
196 |
return $this->oauth2_obj->fetch($this->api_url2 . 'files/move', array('from_path' => $from, 'to_path' => $to), Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json'));
|
197 |
} else {
|
198 |
return $this->doApi("fileops/move", "POST", array(
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
));
|
203 |
}
|
204 |
}
|
@@ -210,22 +328,66 @@ class dropbox
|
|
210 |
$data_send = array( 'path'=> '/' . ltrim( $path, '/' ) );
|
211 |
if ($recursive) {
|
212 |
$data_send['recursive'] = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
}
|
214 |
-
|
215 |
} else {
|
216 |
$dir = $this->doApi("metadata/auto/".ltrim($path, "/"), "GET", array(
|
217 |
-
|
218 |
));
|
219 |
}
|
220 |
-
|
221 |
if ($dir['error']) {
|
222 |
return $dir;
|
223 |
} elseif (isset($dir['is_dir']) && !$dir['is_dir']) { //this not folder
|
224 |
return array (
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
);
|
230 |
}
|
231 |
$all_size = 0;
|
@@ -254,18 +416,18 @@ class dropbox
|
|
254 |
}
|
255 |
|
256 |
$items[] = array (
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
);
|
262 |
}
|
263 |
|
264 |
$dir_result = array (
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
);
|
270 |
} elseif (isset($dir['result']['entries'])) {
|
271 |
foreach ($dir['result']['entries'] as $item) {
|
@@ -274,19 +436,19 @@ class dropbox
|
|
274 |
case 'folder' :
|
275 |
if ($is_folder) {
|
276 |
$items[] = array (
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
);
|
282 |
}
|
283 |
break;
|
284 |
case 'file' :
|
285 |
$items[] = array (
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
);
|
291 |
$all_size += $item['size'];
|
292 |
break;
|
@@ -294,10 +456,10 @@ class dropbox
|
|
294 |
}
|
295 |
}
|
296 |
$dir_result = array (
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
);
|
302 |
}
|
303 |
return $dir_result;
|
@@ -313,13 +475,13 @@ class dropbox
|
|
313 |
if ($size < $kb) {
|
314 |
return $size.' B';
|
315 |
} else if ($size < $mb) {
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
}
|
324 |
}
|
325 |
|
@@ -340,12 +502,75 @@ class dropbox
|
|
340 |
if (empty($server_path)) {
|
341 |
|
342 |
if ($this->oauth2) {
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
} else {
|
350 |
header("Pragma: public");
|
351 |
header("Expires: 0");
|
@@ -355,35 +580,35 @@ class dropbox
|
|
355 |
header('Content-Disposition: attachment; filename="'.$file.'"');
|
356 |
header("Content-Transfer-Encoding: binary");
|
357 |
$this->doApi("files/auto/".ltrim($file, "/"), "GET", array(), array(
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
}
|
363 |
exit;
|
364 |
} else { //Скачиваем на сервер
|
365 |
//Файл недоступен для записи
|
366 |
if (!$fd = fopen($server_path, "wb")) {
|
367 |
return array (
|
368 |
-
|
369 |
-
|
370 |
);
|
371 |
}
|
372 |
|
373 |
if ($this->oauth2) {
|
374 |
$this->oauth2_obj->setPOSTJSON(false);
|
375 |
$res = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/download', array(),
|
376 |
-
|
377 |
if (isset($res['code']) && $res['code'] != 200) {
|
378 |
if (is_array($res['result'])) {
|
379 |
return array (
|
380 |
-
|
381 |
-
|
382 |
);
|
383 |
} else {
|
384 |
return array (
|
385 |
-
|
386 |
-
|
387 |
);
|
388 |
}
|
389 |
} else {
|
@@ -391,11 +616,11 @@ class dropbox
|
|
391 |
}
|
392 |
} else {
|
393 |
$this->doApi("files/auto/".ltrim($file, "/"), "GET", array(), array(
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
}
|
400 |
|
401 |
fclose($fd);
|
@@ -441,8 +666,8 @@ class dropbox
|
|
441 |
foreach ($files as $file => $dbx) {
|
442 |
$do = $this->uploadFile($file, $dbx);
|
443 |
$result[] = array (
|
444 |
-
|
445 |
-
|
446 |
);
|
447 |
}
|
448 |
|
@@ -465,8 +690,8 @@ class dropbox
|
|
465 |
|
466 |
if (!is_file($file_path)) {
|
467 |
return array(
|
468 |
-
|
469 |
-
|
470 |
);
|
471 |
}
|
472 |
|
@@ -477,22 +702,76 @@ class dropbox
|
|
477 |
{
|
478 |
if ($this->oauth2) {
|
479 |
try {
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
} catch(ClientException $e) {
|
491 |
-
|
492 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
493 |
} catch (ClientInvalidArgumentException $e) {
|
494 |
-
$
|
495 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
496 |
}
|
497 |
|
498 |
if (is_string($result['result']) && $result['code'] != 200) {
|
@@ -505,16 +784,16 @@ class dropbox
|
|
505 |
}
|
506 |
} else {
|
507 |
$result = $this->doApi("files_put/auto/".ltrim($dropbox_path, "/"),
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
}
|
519 |
|
520 |
}
|
@@ -525,9 +804,9 @@ class dropbox
|
|
525 |
|
526 |
if ($this->oauth2) {
|
527 |
$session = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/upload_session/start',
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
);
|
532 |
}
|
533 |
|
@@ -539,23 +818,23 @@ class dropbox
|
|
539 |
|
540 |
if ($this->oauth2) {
|
541 |
$result = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/upload_session/append',
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
);
|
546 |
} else {
|
547 |
$result = $this->doApi("chunked_upload",
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
}
|
560 |
fseek($file, $offset);
|
561 |
if($offset >= $fsize) {
|
@@ -574,19 +853,19 @@ class dropbox
|
|
574 |
}
|
575 |
if ($this->oauth2) {
|
576 |
$result = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/upload_session/finish',
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
);
|
584 |
} else {
|
585 |
$result = $this->doApi("commit_chunked_upload/auto/".ltrim($dropbox_path, "/"),
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
}
|
591 |
}
|
592 |
|
@@ -606,12 +885,54 @@ class dropbox
|
|
606 |
if ( $this->oauth2 ) {
|
607 |
$this->oauth2_obj->setPOSTJSON(true);
|
608 |
$data_send = array( 'path' => "/" . ltrim($path, '/') );
|
609 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
610 |
return $dir;
|
611 |
} else {
|
612 |
return $this->doApi("fileops/create_folder", "POST", array(
|
613 |
-
|
614 |
-
|
615 |
));
|
616 |
}
|
617 |
}
|
@@ -682,9 +1003,9 @@ class dropbox
|
|
682 |
}
|
683 |
|
684 |
$signed = $oauth->sign(array(
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
);
|
689 |
|
690 |
if (function_exists('curl_init')) {
|
@@ -693,10 +1014,10 @@ class dropbox
|
|
693 |
}
|
694 |
$ch = curl_init($url);
|
695 |
$opts += array(
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
);
|
701 |
|
702 |
if ($method == "POST") {
|
122 |
{
|
123 |
if ($this->oauth2) {
|
124 |
$params = array('code' => $request_token); // set code
|
125 |
+
try {
|
126 |
+
//
|
127 |
+
$response = $this->oauth2_obj->getAccessToken($this->api_auth_token, 'authorization_code', $params);
|
128 |
+
} catch ( ClientException $e ) {
|
129 |
+
$new_url = $this->getIp4ByHost($this->api_auth_token);
|
130 |
+
if ($new_url) {
|
131 |
+
try {
|
132 |
+
$url = parse_url($this->api_auth_token);
|
133 |
+
$response = $this->oauth2_obj->getAccessToken($new_url, 'authorization_code', $params, array('Host' => $url['host']));
|
134 |
+
} catch ( ClientException $e ) {
|
135 |
+
$result['error'] = 1;
|
136 |
+
$result['text'] = $e->getMessage();
|
137 |
+
return $result;
|
138 |
+
} catch ( ClientInvalidArgumentException $e) {
|
139 |
+
$result['error'] = 1;
|
140 |
+
$result['text'] = $e->getMessage();
|
141 |
+
return $result;
|
142 |
+
}
|
143 |
+
} else {
|
144 |
+
$result['error'] = 1;
|
145 |
+
$result['text'] = 'Auth is invalid';
|
146 |
+
return $result;
|
147 |
+
}
|
148 |
+
} catch ( ClientInvalidArgumentException $e) {
|
149 |
+
$new_url = $this->getIp4ByHost($this->api_auth_token);
|
150 |
+
if ($new_url) {
|
151 |
+
try {
|
152 |
+
$url = parse_url($this->api_auth_token);
|
153 |
+
$response = $this->oauth2_obj->getAccessToken($new_url, 'authorization_code', $params, array('Host' => $url['host']));
|
154 |
+
} catch ( ClientException $e ) {
|
155 |
+
$result['error'] = 1;
|
156 |
+
$result['text'] = $e->getMessage();
|
157 |
+
return $result;
|
158 |
+
} catch ( ClientInvalidArgumentException $e) {
|
159 |
+
$result['error'] = 1;
|
160 |
+
$result['text'] = $e->getMessage();
|
161 |
+
return $result;
|
162 |
+
}
|
163 |
+
} else {
|
164 |
+
$result['error'] = 1;
|
165 |
+
$result['text'] = 'Auth is invalid';
|
166 |
+
return $result;
|
167 |
+
}
|
168 |
+
}
|
169 |
$this->oauth2_obj->setAccessToken($response['result']['access_token']);
|
170 |
if ($response['result']['token_type'] == 'bearer') {
|
171 |
$this->oauth2_obj->setAccessTokenType( Client::ACCESS_TOKEN_BEARER );
|
184 |
}
|
185 |
}
|
186 |
|
187 |
+
public function getIp4ByHost($url)
|
188 |
+
{
|
189 |
+
$host = '';
|
190 |
+
if (is_array($url) && isset($url['host'])) {
|
191 |
+
$host = $url['host'];
|
192 |
+
} elseif (is_string($url)) {
|
193 |
+
$url = parse_url($url);
|
194 |
+
$host = $url['host'];
|
195 |
+
}
|
196 |
+
$ips = false;
|
197 |
+
if (!empty($host) && function_exists('gethostbynamel')) {
|
198 |
+
$ips = gethostbynamel($host);
|
199 |
+
$url['host'] = array_pop($ips);
|
200 |
+
$ips = $this->unparse_url($url);
|
201 |
+
}
|
202 |
+
return $ips;
|
203 |
+
}
|
204 |
+
|
205 |
+
public function unparse_url($parsed_url)
|
206 |
+
{
|
207 |
+
$scheme = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '';
|
208 |
+
$host = isset($parsed_url['host']) ? $parsed_url['host'] : '';
|
209 |
+
$port = isset($parsed_url['port']) ? ':' . $parsed_url['port'] : '';
|
210 |
+
$user = isset($parsed_url['user']) ? $parsed_url['user'] : '';
|
211 |
+
$pass = isset($parsed_url['pass']) ? ':' . $parsed_url['pass'] : '';
|
212 |
+
$pass = ($user || $pass) ? "$pass@" : '';
|
213 |
+
$path = isset($parsed_url['path']) ? $parsed_url['path'] : '';
|
214 |
+
$query = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '';
|
215 |
+
$fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';
|
216 |
+
return "$scheme$user$pass$host$port$path$query$fragment";
|
217 |
+
}
|
218 |
+
|
219 |
/**
|
220 |
* Удаление файла
|
221 |
*
|
226 |
{
|
227 |
if ($this->oauth2) {
|
228 |
$this->oauth2_obj->setPOSTJSON(true);
|
229 |
+
|
230 |
+
try {
|
231 |
+
$res = $this->oauth2_obj->fetch($this->api_url2 . 'files/delete', array('path' => "/" . $file), Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8'));
|
232 |
+
} catch (ClientInvalidArgumentException $e ) {
|
233 |
+
$new_url = $this->getIp4ByHost($this->api_url2);
|
234 |
+
if ($new_url) {
|
235 |
+
try {
|
236 |
+
$url = parse_url($this->api_url2);
|
237 |
+
$dir = $this->oauth2_obj->fetch( $new_url . 'files/delete', array('path' => "/" . $file), Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8', 'Host' => $url['host']) );
|
238 |
+
} catch ( ClientException $e ) {
|
239 |
+
$result['error'] = 1;
|
240 |
+
$result['text'] = $e->getMessage();
|
241 |
+
return $result;
|
242 |
+
} catch ( ClientInvalidArgumentException $e) {
|
243 |
+
$result['error'] = 1;
|
244 |
+
$result['text'] = $e->getMessage();
|
245 |
+
return $result;
|
246 |
+
}
|
247 |
+
} else {
|
248 |
+
$result['error'] = 1;
|
249 |
+
$result['text'] = 'Create dir is invalid';
|
250 |
+
return $result;
|
251 |
+
}
|
252 |
+
} catch (ClientException $e) {
|
253 |
+
$new_url = $this->getIp4ByHost($this->api_url2);
|
254 |
+
if ($new_url) {
|
255 |
+
try {
|
256 |
+
$url = parse_url($this->api_url2);
|
257 |
+
$dir = $this->oauth2_obj->fetch( $new_url . 'files/delete', array('path' => "/" . $file), Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8', 'Host' => $url['host']) );
|
258 |
+
} catch ( ClientException $e ) {
|
259 |
+
$result['error'] = 1;
|
260 |
+
$result['text'] = $e->getMessage();
|
261 |
+
return $result;
|
262 |
+
} catch ( ClientInvalidArgumentException $e) {
|
263 |
+
$result['error'] = 1;
|
264 |
+
$result['text'] = $e->getMessage();
|
265 |
+
return $result;
|
266 |
+
}
|
267 |
+
} else {
|
268 |
+
$result['error'] = 1;
|
269 |
+
$result['text'] = 'Create dir is invalid';
|
270 |
+
return $result;
|
271 |
+
}
|
272 |
+
}
|
273 |
return $res;
|
274 |
} else {
|
275 |
return $this->doApi("fileops/delete", "POST", array(
|
276 |
+
"path" => $file,
|
277 |
+
"root" => "auto"
|
278 |
));
|
279 |
}
|
280 |
}
|
292 |
foreach ($files as $file) {
|
293 |
$do = $this->deleteFile($file);
|
294 |
$result[] = array (
|
295 |
+
"name" => $file,
|
296 |
+
"result" => $do['error'] ? 0 : 1
|
297 |
);
|
298 |
}
|
299 |
|
314 |
return $this->oauth2_obj->fetch($this->api_url2 . 'files/move', array('from_path' => $from, 'to_path' => $to), Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json'));
|
315 |
} else {
|
316 |
return $this->doApi("fileops/move", "POST", array(
|
317 |
+
"root" => "auto",
|
318 |
+
"from_path" => $from,
|
319 |
+
"to_path" => $to
|
320 |
));
|
321 |
}
|
322 |
}
|
328 |
$data_send = array( 'path'=> '/' . ltrim( $path, '/' ) );
|
329 |
if ($recursive) {
|
330 |
$data_send['recursive'] = true;
|
331 |
+
}
|
332 |
+
|
333 |
+
try {
|
334 |
+
$dir = $this->oauth2_obj->fetch($this->api_url2 . 'files/list_folder', $data_send, Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8'));
|
335 |
+
} catch (ClientInvalidArgumentException $e ) {
|
336 |
+
$new_url = $this->getIp4ByHost($this->api_url2);
|
337 |
+
if ($new_url) {
|
338 |
+
try {
|
339 |
+
$url = parse_url($this->api_url2);
|
340 |
+
$dir = $this->oauth2_obj->fetch( $new_url . 'files/list_folder', $data_send, Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8', 'Host' => $url['host']) );
|
341 |
+
} catch ( ClientException $e ) {
|
342 |
+
$result['error'] = 1;
|
343 |
+
$result['text'] = $e->getMessage();
|
344 |
+
return $result;
|
345 |
+
} catch ( ClientInvalidArgumentException $e) {
|
346 |
+
$result['error'] = 1;
|
347 |
+
$result['text'] = $e->getMessage();
|
348 |
+
return $result;
|
349 |
+
}
|
350 |
+
} else {
|
351 |
+
$result['error'] = 1;
|
352 |
+
$result['text'] = 'Files list is invalid';
|
353 |
+
return $result;
|
354 |
+
}
|
355 |
+
} catch (ClientException $e) {
|
356 |
+
$new_url = $this->getIp4ByHost($this->api_url2);
|
357 |
+
if ($new_url) {
|
358 |
+
try {
|
359 |
+
$url = parse_url($this->api_url2);
|
360 |
+
$dir = $this->oauth2_obj->fetch( $new_url . 'files/list_folder', $data_send, Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8', 'Host' => $url['host']) );
|
361 |
+
} catch ( ClientException $e ) {
|
362 |
+
$result['error'] = 1;
|
363 |
+
$result['text'] = $e->getMessage();
|
364 |
+
return $result;
|
365 |
+
} catch ( ClientInvalidArgumentException $e) {
|
366 |
+
$result['error'] = 1;
|
367 |
+
$result['text'] = $e->getMessage();
|
368 |
+
return $result;
|
369 |
+
}
|
370 |
+
} else {
|
371 |
+
$result['error'] = 1;
|
372 |
+
$result['text'] = 'Files list is invalid';
|
373 |
+
return $result;
|
374 |
+
}
|
375 |
}
|
376 |
+
|
377 |
} else {
|
378 |
$dir = $this->doApi("metadata/auto/".ltrim($path, "/"), "GET", array(
|
379 |
+
"list" => TRUE
|
380 |
));
|
381 |
}
|
382 |
+
|
383 |
if ($dir['error']) {
|
384 |
return $dir;
|
385 |
} elseif (isset($dir['is_dir']) && !$dir['is_dir']) { //this not folder
|
386 |
return array (
|
387 |
+
"size" => $dir['size'],
|
388 |
+
"bytes" => $dir['bytes'],
|
389 |
+
"date" => $dir['modified'],
|
390 |
+
"name" => $dir['path']
|
391 |
);
|
392 |
}
|
393 |
$all_size = 0;
|
416 |
}
|
417 |
|
418 |
$items[] = array (
|
419 |
+
"type" => $item['is_dir'] ? "dir" : "file",
|
420 |
+
"date" => $item['modified'],
|
421 |
+
"name" => basename($item['path']),
|
422 |
+
"size" => $item['size']
|
423 |
);
|
424 |
}
|
425 |
|
426 |
$dir_result = array (
|
427 |
+
"size" => $this->bite2other($all_size),
|
428 |
+
"date" => $dir['modified'],
|
429 |
+
"name" => $dir['path'],
|
430 |
+
"items" => $items
|
431 |
);
|
432 |
} elseif (isset($dir['result']['entries'])) {
|
433 |
foreach ($dir['result']['entries'] as $item) {
|
436 |
case 'folder' :
|
437 |
if ($is_folder) {
|
438 |
$items[] = array (
|
439 |
+
"type" => "dir",
|
440 |
+
"date" => '',
|
441 |
+
"name" => basename($item['path_display']),
|
442 |
+
"size" => 0
|
443 |
);
|
444 |
}
|
445 |
break;
|
446 |
case 'file' :
|
447 |
$items[] = array (
|
448 |
+
"type" => "file",
|
449 |
+
"date" => $item['client_modified'],
|
450 |
+
"name" => $item['name'],
|
451 |
+
"size" => $item['size']
|
452 |
);
|
453 |
$all_size += $item['size'];
|
454 |
break;
|
456 |
}
|
457 |
}
|
458 |
$dir_result = array (
|
459 |
+
"size" => $this->bite2other($all_size),
|
460 |
+
"date" => 0,
|
461 |
+
"name" => $path,
|
462 |
+
"items" => $items
|
463 |
);
|
464 |
}
|
465 |
return $dir_result;
|
475 |
if ($size < $kb) {
|
476 |
return $size.' B';
|
477 |
} else if ($size < $mb) {
|
478 |
+
return round($size / $kb, 2).' KB';
|
479 |
+
} else if ($size < $gb) {
|
480 |
+
return round($size / $mb, 2).' MB';
|
481 |
+
} else if ($size < $tb) {
|
482 |
+
return round($size / $gb, 2).' GB';
|
483 |
+
} else {
|
484 |
+
return round($size / $tb, 2).' TB';
|
485 |
}
|
486 |
}
|
487 |
|
502 |
if (empty($server_path)) {
|
503 |
|
504 |
if ($this->oauth2) {
|
505 |
+
try {
|
506 |
+
$this->oauth2_obj->fetch($this->api_url_content2 . 'files/download',
|
507 |
+
array('path' => $file), Client::HTTP_METHOD_POST,
|
508 |
+
array(
|
509 |
+
'socket' => array('file_download' => $server_path),
|
510 |
+
CURLOPT_BINARYTRANSFER => 1,
|
511 |
+
CURLOPT_RETURNTRANSFER => 0,
|
512 |
+
)
|
513 |
+
);
|
514 |
+
} catch(ClientException $e) {
|
515 |
+
|
516 |
+
$new_url = $this->getIp4ByHost($this->api_url_content2);
|
517 |
+
if ($new_url) {
|
518 |
+
try {
|
519 |
+
$url = parse_url($this->api_url_content2);
|
520 |
+
$this->oauth2_obj->fetch($new_url . '/files/download',
|
521 |
+
array('path' => $file), Client::HTTP_METHOD_POST,
|
522 |
+
array(
|
523 |
+
'socket' => array('file_download' => $server_path),
|
524 |
+
CURLOPT_BINARYTRANSFER => 1,
|
525 |
+
CURLOPT_RETURNTRANSFER => 0,
|
526 |
+
'Host' => $url['host'],
|
527 |
+
)
|
528 |
+
);
|
529 |
+
} catch ( ClientException $e ) {
|
530 |
+
$result['error'] = 1;
|
531 |
+
$result['text'] = $e->getMessage();
|
532 |
+
return $result;
|
533 |
+
} catch ( ClientInvalidArgumentException $e) {
|
534 |
+
$result['error'] = 1;
|
535 |
+
$result['text'] = $e->getMessage();
|
536 |
+
return $result;
|
537 |
+
}
|
538 |
+
} else {
|
539 |
+
$result['error'] = 1;
|
540 |
+
$result['text'] = 'Create dir is invalid';
|
541 |
+
return $result;
|
542 |
+
}
|
543 |
+
} catch (ClientInvalidArgumentException $e) {
|
544 |
+
$new_url = $this->getIp4ByHost($this->api_url_content2);
|
545 |
+
if ($new_url) {
|
546 |
+
try {
|
547 |
+
$url = parse_url($this->api_url_content2);
|
548 |
+
$this->oauth2_obj->fetch($new_url . 'files/download',
|
549 |
+
array('path' => $file), Client::HTTP_METHOD_POST,
|
550 |
+
array(
|
551 |
+
'socket' => array('file_download' => $server_path),
|
552 |
+
CURLOPT_BINARYTRANSFER => 1,
|
553 |
+
CURLOPT_RETURNTRANSFER => 0,
|
554 |
+
'Host' => $url['host'],
|
555 |
+
)
|
556 |
+
);
|
557 |
+
} catch ( ClientException $e ) {
|
558 |
+
$result['error'] = 1;
|
559 |
+
$result['text'] = $e->getMessage();
|
560 |
+
return $result;
|
561 |
+
} catch ( ClientInvalidArgumentException $e) {
|
562 |
+
$result['error'] = 1;
|
563 |
+
$result['text'] = $e->getMessage();
|
564 |
+
return $result;
|
565 |
+
}
|
566 |
+
} else {
|
567 |
+
$result['error'] = 1;
|
568 |
+
$result['text'] = __( 'Create dir is invalid', 'dropbox-backup' );
|
569 |
+
return $result;
|
570 |
+
}
|
571 |
+
}
|
572 |
+
|
573 |
+
|
574 |
} else {
|
575 |
header("Pragma: public");
|
576 |
header("Expires: 0");
|
580 |
header('Content-Disposition: attachment; filename="'.$file.'"');
|
581 |
header("Content-Transfer-Encoding: binary");
|
582 |
$this->doApi("files/auto/".ltrim($file, "/"), "GET", array(), array(
|
583 |
+
'socket' => array('file_download' => $server_path),
|
584 |
+
CURLOPT_BINARYTRANSFER => 1,
|
585 |
+
CURLOPT_RETURNTRANSFER => 0,
|
586 |
+
), TRUE);
|
587 |
}
|
588 |
exit;
|
589 |
} else { //Скачиваем на сервер
|
590 |
//Файл недоступен для записи
|
591 |
if (!$fd = fopen($server_path, "wb")) {
|
592 |
return array (
|
593 |
+
"error" => 1,
|
594 |
+
"text" => "File '".$server_path."' not writable"
|
595 |
);
|
596 |
}
|
597 |
|
598 |
if ($this->oauth2) {
|
599 |
$this->oauth2_obj->setPOSTJSON(false);
|
600 |
$res = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/download', array(),
|
601 |
+
Client::HTTP_METHOD_POST, array('Dropbox-API-Arg' => json_encode( array('path' => '/' . ltrim( $file , '/' ) ) ) ) );
|
602 |
if (isset($res['code']) && $res['code'] != 200) {
|
603 |
if (is_array($res['result'])) {
|
604 |
return array (
|
605 |
+
"error" => 1,
|
606 |
+
"text" => $res['result']['error_summary']
|
607 |
);
|
608 |
} else {
|
609 |
return array (
|
610 |
+
"error" => 1,
|
611 |
+
"text" => $res['result']
|
612 |
);
|
613 |
}
|
614 |
} else {
|
616 |
}
|
617 |
} else {
|
618 |
$this->doApi("files/auto/".ltrim($file, "/"), "GET", array(), array(
|
619 |
+
'socket' => array('file_download' => $server_path),
|
620 |
+
CURLOPT_BINARYTRANSFER => 1,
|
621 |
+
CURLOPT_RETURNTRANSFER => 0,
|
622 |
+
CURLOPT_FILE => $fd
|
623 |
+
), TRUE);
|
624 |
}
|
625 |
|
626 |
fclose($fd);
|
666 |
foreach ($files as $file => $dbx) {
|
667 |
$do = $this->uploadFile($file, $dbx);
|
668 |
$result[] = array (
|
669 |
+
"name" => $file,
|
670 |
+
"result" => $do['error'] ? 0 : 1
|
671 |
);
|
672 |
}
|
673 |
|
690 |
|
691 |
if (!is_file($file_path)) {
|
692 |
return array(
|
693 |
+
"error" => 1,
|
694 |
+
"text" => "File '".$file_path."' not found."
|
695 |
);
|
696 |
}
|
697 |
|
702 |
{
|
703 |
if ($this->oauth2) {
|
704 |
try {
|
705 |
+
$this->oauth2_obj->setPOSTJSON(false);
|
706 |
+
$result = $this->oauth2_obj->fetch(
|
707 |
+
$this->api_url_content2 . 'files/upload',
|
708 |
+
file_get_contents($file_path),
|
709 |
+
Client::HTTP_METHOD_POST,
|
710 |
+
array(
|
711 |
+
'Dropbox-API-Arg' => json_encode( array( 'path' => '/' . ltrim( $dropbox_path, '/' ) ) ),
|
712 |
+
'Content-Type' => 'application/octet-stream',
|
713 |
+
)
|
714 |
+
);
|
715 |
} catch(ClientException $e) {
|
716 |
+
|
717 |
+
$new_url = $this->getIp4ByHost($this->api_url_content2);
|
718 |
+
if ($new_url) {
|
719 |
+
try {
|
720 |
+
$url = parse_url($this->api_url_content2);
|
721 |
+
WPAdm_Core::log( $new_url . 'files/upload' );
|
722 |
+
$result = $this->oauth2_obj->fetch(
|
723 |
+
$new_url . 'files/upload',
|
724 |
+
file_get_contents($file_path),
|
725 |
+
Client::HTTP_METHOD_POST,
|
726 |
+
array(
|
727 |
+
'Dropbox-API-Arg' => json_encode( array( 'path' => '/' . ltrim( $dropbox_path, '/' ) ) ),
|
728 |
+
'Content-Type' => 'application/octet-stream',
|
729 |
+
'Host' => $url['host']
|
730 |
+
)
|
731 |
+
);
|
732 |
+
} catch ( ClientException $e ) {
|
733 |
+
$result['error'] = 1;
|
734 |
+
$result['text'] = $e->getMessage();
|
735 |
+
return $result;
|
736 |
+
} catch ( ClientInvalidArgumentException $e) {
|
737 |
+
$result['error'] = 1;
|
738 |
+
$result['text'] = $e->getMessage();
|
739 |
+
return $result;
|
740 |
+
}
|
741 |
+
} else {
|
742 |
+
$result['error'] = 1;
|
743 |
+
$result['text'] = 'Create dir is invalid';
|
744 |
+
return $result;
|
745 |
+
}
|
746 |
} catch (ClientInvalidArgumentException $e) {
|
747 |
+
$new_url = $this->getIp4ByHost($this->api_url_content2);
|
748 |
+
if ($new_url) {
|
749 |
+
try {
|
750 |
+
$url = parse_url($this->api_url_content2);
|
751 |
+
$result = $this->oauth2_obj->fetch(
|
752 |
+
$new_url . 'files/upload',
|
753 |
+
file_get_contents($file_path),
|
754 |
+
Client::HTTP_METHOD_POST,
|
755 |
+
array(
|
756 |
+
'Dropbox-API-Arg' => json_encode( array( 'path' => '/' . ltrim( $dropbox_path, '/' ) ) ),
|
757 |
+
'Content-Type' => 'application/octet-stream',
|
758 |
+
'Host' => $url['host']
|
759 |
+
)
|
760 |
+
);
|
761 |
+
} catch ( ClientException $e ) {
|
762 |
+
$result['error'] = 1;
|
763 |
+
$result['text'] = $e->getMessage();
|
764 |
+
return $result;
|
765 |
+
} catch ( ClientInvalidArgumentException $e) {
|
766 |
+
$result['error'] = 1;
|
767 |
+
$result['text'] = $e->getMessage();
|
768 |
+
return $result;
|
769 |
+
}
|
770 |
+
} else {
|
771 |
+
$result['error'] = 1;
|
772 |
+
$result['text'] = __( 'Create dir is invalid', 'dropbox-backup' );
|
773 |
+
return $result;
|
774 |
+
}
|
775 |
}
|
776 |
|
777 |
if (is_string($result['result']) && $result['code'] != 200) {
|
784 |
}
|
785 |
} else {
|
786 |
$result = $this->doApi("files_put/auto/".ltrim($dropbox_path, "/"),
|
787 |
+
"PUT",
|
788 |
+
compact ("overwrite"),
|
789 |
+
array(
|
790 |
+
'socket' => array('file' => $file_path),
|
791 |
+
CURLOPT_INFILE => $file,
|
792 |
+
CURLOPT_INFILESIZE => filesize($file_path),
|
793 |
+
CURLOPT_BINARYTRANSFER => 1,
|
794 |
+
CURLOPT_PUT => 1
|
795 |
+
),
|
796 |
+
TRUE);
|
797 |
}
|
798 |
|
799 |
}
|
804 |
|
805 |
if ($this->oauth2) {
|
806 |
$session = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/upload_session/start',
|
807 |
+
array(), Client::HTTP_METHOD_POST,
|
808 |
+
array('Dropbox-API-Arg' => json_encode(array('close' => true) ),
|
809 |
+
'Content-Type' => 'application/octet-stream' )
|
810 |
);
|
811 |
}
|
812 |
|
818 |
|
819 |
if ($this->oauth2) {
|
820 |
$result = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/upload_session/append',
|
821 |
+
array(), Client::HTTP_METHOD_POST,
|
822 |
+
array('Dropbox-API-Arg' => json_encode(array('session_id' => $session['session_id'], 'offset' => $offset) ),
|
823 |
+
'Content-Type' => 'application/octet-stream' )
|
824 |
);
|
825 |
} else {
|
826 |
$result = $this->doApi("chunked_upload",
|
827 |
+
"PUT",
|
828 |
+
compact("upload_id", "offset"),
|
829 |
+
array(
|
830 |
+
'socket' => array('file' => $file_path, 'dropbox_path' => $dropbox_path),
|
831 |
+
|
832 |
+
CURLOPT_INFILE => $file,
|
833 |
+
CURLOPT_INFILESIZE => $chunk,
|
834 |
+
CURLOPT_BINARYTRANSFER => 1,
|
835 |
+
CURLOPT_PUT => 1
|
836 |
+
),
|
837 |
+
TRUE);
|
838 |
}
|
839 |
fseek($file, $offset);
|
840 |
if($offset >= $fsize) {
|
853 |
}
|
854 |
if ($this->oauth2) {
|
855 |
$result = $this->oauth2_obj->fetch($this->api_url_content2 . 'files/upload_session/finish',
|
856 |
+
array(), Client::HTTP_METHOD_POST,
|
857 |
+
array('Dropbox-API-Arg' => json_encode(array('cursor' => array('session_id' => $session['session_id'], 'offset' => $offset ),
|
858 |
+
'commit' => array('path' => '/' . ltrim( $dropbox_path, '/' ) )
|
859 |
+
)
|
860 |
+
),
|
861 |
+
'Content-Type' => 'application/octet-stream' )
|
862 |
);
|
863 |
} else {
|
864 |
$result = $this->doApi("commit_chunked_upload/auto/".ltrim($dropbox_path, "/"),
|
865 |
+
"POST",
|
866 |
+
compact("upload_id", "overwrite"),
|
867 |
+
array(),
|
868 |
+
TRUE);
|
869 |
}
|
870 |
}
|
871 |
|
885 |
if ( $this->oauth2 ) {
|
886 |
$this->oauth2_obj->setPOSTJSON(true);
|
887 |
$data_send = array( 'path' => "/" . ltrim($path, '/') );
|
888 |
+
try {
|
889 |
+
$dir = $this->oauth2_obj->fetch($this->api_url2 . 'files/create_folder', $data_send, Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8'));
|
890 |
+
} catch (ClientInvalidArgumentException $e ) {
|
891 |
+
$new_url = $this->getIp4ByHost($this->api_url2);
|
892 |
+
if ($new_url) {
|
893 |
+
try {
|
894 |
+
$url = parse_url($this->api_url2);
|
895 |
+
$dir = $this->oauth2_obj->fetch( $new_url . '/files/create_folder', $data_send, Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8', 'Host' => $url['host']) );
|
896 |
+
} catch ( ClientException $e ) {
|
897 |
+
$result['error'] = 1;
|
898 |
+
$result['text'] = $e->getMessage();
|
899 |
+
return $result;
|
900 |
+
} catch ( ClientInvalidArgumentException $e) {
|
901 |
+
$result['error'] = 1;
|
902 |
+
$result['text'] = $e->getMessage();
|
903 |
+
return $result;
|
904 |
+
}
|
905 |
+
} else {
|
906 |
+
$result['error'] = 1;
|
907 |
+
$result['text'] = 'Create dir is invalid';
|
908 |
+
return $result;
|
909 |
+
}
|
910 |
+
} catch (ClientException $e) {
|
911 |
+
$new_url = $this->getIp4ByHost($this->api_url2);
|
912 |
+
if ($new_url) {
|
913 |
+
try {
|
914 |
+
$url = parse_url($this->api_url2);
|
915 |
+
$dir = $this->oauth2_obj->fetch( $this->api_url2 . '/files/create_folder', $data_send, Client::HTTP_METHOD_POST, array('Content-Type' => 'application/json; charset=utf-8', 'Host' => $url['host']) );
|
916 |
+
} catch ( ClientException $e ) {
|
917 |
+
$result['error'] = 1;
|
918 |
+
$result['text'] = $e->getMessage();
|
919 |
+
return $result;
|
920 |
+
} catch ( ClientInvalidArgumentException $e) {
|
921 |
+
$result['error'] = 1;
|
922 |
+
$result['text'] = $e->getMessage();
|
923 |
+
return $result;
|
924 |
+
}
|
925 |
+
} else {
|
926 |
+
$result['error'] = 1;
|
927 |
+
$result['text'] = 'Create dir is invalid';
|
928 |
+
return $result;
|
929 |
+
}
|
930 |
+
}
|
931 |
return $dir;
|
932 |
} else {
|
933 |
return $this->doApi("fileops/create_folder", "POST", array(
|
934 |
+
"root" => "auto",
|
935 |
+
"path" => $path
|
936 |
));
|
937 |
}
|
938 |
}
|
1003 |
}
|
1004 |
|
1005 |
$signed = $oauth->sign(array(
|
1006 |
+
'action' => $method,
|
1007 |
+
'path' => $path
|
1008 |
+
)
|
1009 |
);
|
1010 |
|
1011 |
if (function_exists('curl_init')) {
|
1014 |
}
|
1015 |
$ch = curl_init($url);
|
1016 |
$opts += array(
|
1017 |
+
CURLOPT_RETURNTRANSFER => 1,
|
1018 |
+
CURLOPT_HEADER => 0,
|
1019 |
+
CURLOPT_SSL_VERIFYPEER => 0,
|
1020 |
+
CURLOPT_SSL_VERIFYHOST => 0,
|
1021 |
);
|
1022 |
|
1023 |
if ($method == "POST") {
|
readme.txt
CHANGED
@@ -1,115 +1,116 @@
|
|
1 |
=== Backup & Restore Dropbox ===
|
2 |
Plugin Name: Backup & Restore Dropbox
|
3 |
-
Version: 1.6.
|
4 |
Donate link: http://www.wpadm.com/donate
|
5 |
URI: http://www.wpadm.com/dropbox-backup
|
6 |
Tags: dropbox, backup, dropbox backup, migrate, restore, database, full backup, manage, sicherung, database backup, file backup, page backup, page, web, web backup, web page, synchronize, clone, duplicate, move, web page backup, site, site backup, back up, cloud, Cloud Files, cloud backup, db backup, dump, german, multisite, German, schedule, storage, time, upload, data bank, zip, archive, backups, file, db, recover, recovery, restoration, wp backup, wordpress backup, wordpress backup to dropbox, plugin wordpress backup, wpadm, wpadm.com, website, website backup, website back up, wp backup, wordpress backup, scheduled backup, backup scheduler, tool, backup tool
|
7 |
Requires at least: 3.9
|
8 |
-
Tested up to: 4.9
|
9 |
Stable tag: trunk
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
Author: WPAdm.com
|
13 |
-
Contributors:
|
14 |
|
15 |
-
Backup & Restore Dropbox Plugin to create Dropbox Full Backup (Files + Database) or Restore, Duplicate, Clone or Migrate
|
16 |
|
17 |
== Description ==
|
18 |
|
19 |
-
|
20 |
|
21 |
-
If you do not understand
|
22 |
please, make a [support request](http://www.wpadm.com/support/) first!
|
23 |
|
24 |
-
**Features
|
25 |
-
|
26 |
-
|
27 |
-
* Unlimited dropbox
|
28 |
-
* Unlimited local backups
|
29 |
-
*
|
30 |
-
*
|
31 |
-
*
|
32 |
-
*
|
33 |
-
* Dropbox Restore: restoration from Dropbox backup;
|
34 |
-
* Full control of included and excluded folders and files (can be found in "Settings");
|
35 |
-
* You can create limited backup with database only (without files and/or folders). Just check "Settings" of backup plugin;
|
36 |
-
* With "dropbox backup & restore" plugin you can backup and restore WooCommerce shop inkl. database with products;
|
37 |
* Notification logging on screen and in file;
|
38 |
-
* Use your own App key and App secret;
|
39 |
* Supports backup on "Low Memory" Hosting or Server;
|
40 |
-
* Possibility to
|
41 |
-
* Automatic database optimization before
|
42 |
-
* Database or Table repair functionality before
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
**Account creation is optional, but we suggest to do this.<br /> Why create [www.wpadm.com](http://www.wpadm.com/) account?**<br />
|
46 |
-
Your website can be down, not available or admin back-end can be
|
47 |
|
48 |
* Some plugin or some theme (template) has an error;
|
49 |
-
* Plugin or theme (template) was installed incorrectly (wrong installation of WordPress plugins and
|
50 |
-
* Vulnerabilities of user files, WordPress files, WordPress plugin
|
51 |
-
* Websites
|
52 |
* Server or hosting misconfiguration. For example: files and folder rights, like "owner" rights, "read", "write" and "execution" rights;
|
53 |
-
* Web Server or web hosting misconfiguration, like wrong Apache or nginx configuration, mod_rewrite rules
|
54 |
-
etc.
|
55 |
|
56 |
-
You can create your WPAdm account also for **central Backup administration** at http://www.wpadm.com <br />
|
57 |
-
WPAdm account is FULLY FREE.<br /><br />
|
58 |
|
59 |
**PLEASE, READ CAREFULLY!** <br />
|
60 |
-
**If you like our plugin - please,
|
61 |
-
**This is one of few WordPress
|
62 |
-
|
63 |
-
Providing
|
64 |
It can take a while and some patience from you.<br /><br />
|
65 |
-
We are not responsible for any 5хх-errors! Such errors caused in most cases (99,9%) by your server/hosting.<br />
|
66 |
-
For a little fee, we can help you solve problems of your server or hosting (to do this, we will need your FTP website
|
67 |
Thank you for your understanding!**
|
68 |
|
69 |
|
70 |
**ALL INFORMATION, PROVIDED BY OUR USERS IS IN SAFETY AND USED FOR SUPPORT ONLY!**
|
71 |
|
72 |
-
If you need help with the plugin or you want to report a bug please refer to http://www.wpadm.com/support/
|
73 |
<br />
|
74 |
|
75 |
-
If your website has basic authorisation (basic_auth), it can call some exclusions during backup
|
76 |
|
77 |
|
78 |
== Installation ==
|
79 |
|
80 |
### Perform a new installation using FTP
|
81 |
1. Upload the plugin folder `Dropbox Backup` to the `/wp-content/plugins/` directory of your WordPress installation.
|
82 |
-
2. Activate the plugin through the `Plugins` menu in WordPress
|
83 |
|
84 |
|
85 |
-
###
|
86 |
|
87 |
-
After downloading the ZIP file of the
|
88 |
|
89 |
-
1. Log in
|
90 |
-
2. Go to Plugins Add
|
91 |
-
3. Click on "Choose file"
|
92 |
*For Mac Users*<br />
|
93 |
-
*Go to your Downloads folder and locate the folder with the name "dropbox
|
94 |
-
4. Click on "Install Now" button
|
95 |
-
5. Click on link "Activate Plugin"
|
96 |
<br />
|
97 |
-
*If the installation does not succeed, please contact http://www.wpadm.com support
|
98 |
|
99 |
-
Dropbox Backup Plugin have a settings section on WordPress plugin page.
|
100 |
|
101 |
-
###
|
102 |
|
103 |
-
1. Go to Admin dashboard of your website;<br />
|
104 |
-
2. Open "Settings"
|
105 |
-
3. Click "Connect to Dropbox" button;<br />
|
106 |
-
|
107 |
|
108 |
-
|
109 |
<ul>
|
110 |
-
<li>How to install Dropbox
|
111 |
-
<li>How to connect
|
112 |
-
<li>How to
|
113 |
</ul>
|
114 |
|
115 |
https://www.youtube.com/watch?v=Hdzoh0BFpmg
|
@@ -121,85 +122,85 @@ If you need help with the plugin or you want to report a bug, so please, also re
|
|
121 |
== Other ==
|
122 |
|
123 |
|
124 |
-
= Very easy and secure
|
125 |
Usefull additional functions can be found at www.wpadm.com in the User profile.
|
126 |
-
|
127 |
|
128 |
Information about privacy:<br />
|
129 |
-
In case
|
130 |
our plugin will get the minimum requirements of php and mysql configuration, version and language of wordpress.
|
131 |
-
This data will be send to WPAdm service, to get the
|
132 |
WE DO NOT COLLECT AND DO NOT STORE THE PERSONAL DATA OF USERS FROM THIS PLUGIN!
|
133 |
|
134 |
-
=
|
|
|
135 |
|
136 |
-
|
137 |
-
But in most cases it isn't needed to make full backup. With help of our service webpage-backup.com you can select the folder or special databases that you must backup or to backup single website inside your hosting. But for our service it does not matter if the files are large or small, in case of the restoration it is the same. As well as for your local backup. Local backup are done on your hosting. If your hosting have enough space for backup it is ok, but it is not recommended. In most cases for storage your full backup on space of your hosting it is not enough space otherwise it is not safe enough, especially if something happen with your hosting or after some time you want to change your hosting provider. Additional if your make automate schedule backups or data base backups ever after some time the space on your backup drive will be full. For this reason the best is to use the Dropbox storage. Dropbox storage is scalable. Of course the scheduler dropbox backup it is not a must. You can make it manually and for free, but it easy to forget and the danger to lose your backup data are big. You must not to upload your dropbox backup on your PC or desktop you can directly restoring your website from dropbox drive. Independently of our service it is possible to downloading, uploading the data from the dropbox account. By dropbox backup with www.webpage-backup.com you can make exclusions of folders or by restoring import archives or whole bundle of archives. By dropbox backup or wep page cloning or migration of the sites it is important that all folders have permissions to write it is the same how permission to access the folder or to uploading it. For backup on dropbox it is does not matter if your site have ssl certificate or it is normal woocommerce shop without SSL certificate the same goes for migrating or for website clone. For our service www.webpage-backup.com it is important that our servise have permissions to the folders and to backup drive.
|
138 |
|
139 |
= Special functions =
|
140 |
|
141 |
-
|
|
|
142 |
|
143 |
= Easy backup =
|
144 |
|
145 |
-
|
|
|
|
|
146 |
|
147 |
-
|
148 |
|
149 |
-
|
150 |
|
151 |
-
|
152 |
|
153 |
-
For restoring your website (or multisite websites) selected files from the dashboard and then select files to restore. In backup list you see the type, date and size. From the list you can remove and select appropriate restoring file. In settings your can add or remove the cloud storage. In case of cloning you must restore your old website backup on other webpage. Cloning is the same how resorting but in more steps. The same bee meant for migrating of multisite and shops and there restore. With our file explorer you can match every file separately for restoration. In case of restoration only this files will be restore. You can restore one file than the next, but it easy to make restoring in bundle or directly to recover whole full backup. The restoration time depend from your hosting and upload rate as well as restoration depend from the file size witch must be restore. Scheduled restoring and recovering isn’t possible, unless somebody have special inquiry on our service to do scheduled recovering. The recover from the Dropbox cloud storage take time, depend from the web site size and right permissions of the folders of your hosting provider.
|
154 |
|
155 |
-
=
|
156 |
-
|
157 |
-
<p>
|
158 |
-
<p>
|
159 |
-
<p>
|
160 |
-
<p>The easiest variant is to simply copy data to another folder on a hard drive. But unfortunately, that is an unreliable decision, because that would release you from only the small number of possible problems, even if this folder is placed on another hardware. Now you are aware that at the present digital information day creating of backup is neither a whim nor extra precaution, this is a plain safety measure.</p>
|
161 |
|
162 |
-
= What to do if
|
163 |
|
164 |
-
First of all check the data spelling. It is most common mistake. Other common mistakes
|
165 |
|
166 |
-
* to recover from wrong cloud storage;
|
167 |
-
* if done
|
168 |
-
*
|
169 |
-
* In your database are file exclusions;
|
170 |
-
* your database
|
171 |
-
* file archive of
|
172 |
-
* back up
|
173 |
-
* misspelled back up due user failed restore;
|
174 |
|
175 |
-
Large file and big size databases
|
176 |
-
After
|
177 |
|
178 |
-
If you see
|
179 |
-
please,
|
180 |
|
181 |
-
**The
|
182 |
|
183 |
-
There are some requirements for
|
184 |
-
• Make copies of your files regularly and as often as you can;<br />
|
185 |
-
• Rank your data by importance
|
186 |
• Do not store your file copies on the same hard drives;<br />
|
187 |
-
• Make sure you can access your
|
188 |
• Schedule your backups and ensure you get informed on their status;<br />
|
189 |
• If your medium capacity or bandwidth is limited use compression tools;<br />
|
190 |
-
A good solution is to have a separate server for remote
|
191 |
-
There are a lot of services providing free but limited cloud storage capacity
|
192 |
|
193 |
-
= Restoration
|
194 |
<p>Different factors may be the reason for someone to restore his data from a dropbox backup. This is a truly helpful option that supposes bringing the saved data from dropbox storage place back to its original in case you’ve lost or damaged the existing one.</p>
|
195 |
= Best Choice to Keep Data =
|
196 |
-
<p>Among the available ways to maintain information the first place belongs rightfully to **cloud storages** or **cloud drives**. These are sorts of virtual data storages, that save and manage the data via numerous servers strewn about World Wide Web. Their principle is simple: every ‘cloud’ has definitively stated limit of Gb virtual space, that is given to a new user absolutely for free. But in time, if a person wants to expand it, he’ll have to pay according to price plan. So here we have a simple case of effective advertising – a user gets used to the comfort and mobility of the network repository, and after he concludes that the cloud suits him to the full extend in every meanings, he pays for the “rent” of this sufficiency.</p>
|
197 |
-
= Dropbox
|
198 |
-
<p>For the present day Dropbox cloud is still an unbeaten leader that
|
199 |
<br />
|
200 |
-
<p>Dropbox Full Backup for WordPress is good for
|
201 |
<br />
|
202 |
-
<p>To make a conclusion we’d say, that in order to be safe and sound with any of your data of your WordPress site information you should
|
203 |
|
204 |
|
205 |
|
@@ -213,156 +214,121 @@ Note that Drop-ins have app keys but no app secrets.
|
|
213 |
|
214 |
= I clicked on the "Backup to Dropbox" button, but nothing happens. What's wrong? =
|
215 |
|
216 |
-
Before
|
217 |
-
To do this, please, open the "Settings" block in your
|
218 |
-
So please, at first connect yourself to Dropbox and then,
|
219 |
|
220 |
= How to restore my site from dropbox backup? =
|
221 |
|
222 |
-
-
|
223 |
-
-
|
|
|
224 |
|
225 |
|
226 |
= My web page completely crashed and not available. How can I restore my web page from dropbox backup? =
|
227 |
|
228 |
-
|
|
|
|
|
229 |
|
230 |
-
|
231 |
|
232 |
-
|
233 |
|
234 |
-
Yes. We recommended to update or upgrade to a newest versions.
|
235 |
|
236 |
-
|
237 |
-
= How do I do this: Dropbox Backup wasn't created. There is not enough script running time to perform backup operations, please increase the PHP variable max_execution_time. =
|
238 |
|
239 |
There are two ways to do it increase the PHP variable max_execution_time:<br />
|
240 |
|
241 |
-
1.
|
|
|
|
|
242 |
|
243 |
-
|
244 |
|
245 |
max_execution_time = 90 (script running 90 seconds).<br />
|
246 |
|
247 |
-
|
248 |
|
249 |
If 90 is not enough for your script running, write 120 and so forth. <br />
|
250 |
|
251 |
If you write down 0, you will have unlimited script running time. <br />
|
252 |
Some materials take a long time to process before being transmitted.<br />
|
253 |
|
254 |
-
|
255 |
|
256 |
-
|
257 |
|
258 |
ini_set('max_execution_time', '90');<br />
|
259 |
|
260 |
-
|
261 |
|
262 |
php_value max_execution_time 90<br />
|
263 |
|
264 |
**Check, if you have added this setting to the currently active php.ini file.**<br />
|
265 |
|
266 |
-
You can change it, for example from 3 to 5 minutes. This setting must be set in seconds. <br />
|
267 |
|
268 |
|
269 |
|
270 |
-
= I just
|
271 |
|
272 |
-
If you
|
273 |
-
- one
|
274 |
-
- the second
|
275 |
-
Note, if you don't checked the checkbox "Leave local copy on my hosting" in the Settings of your Dropbox plugin,
|
276 |
|
277 |
-
= How can I
|
278 |
|
279 |
Manage of multiple back ups is possible from your account on webpage-backup.com
|
280 |
|
281 |
-
=
|
282 |
-
|
283 |
-
Multisite WP can be supported too, but you have to login in your account at www.webpage-backup.com
|
284 |
-
|
285 |
-
= Can I use the Dropbox Backup and Restore plugin to clone my website? =
|
286 |
|
287 |
-
Yes. If you have
|
288 |
|
289 |
-
= I
|
290 |
|
291 |
-
|
292 |
-
|
293 |
-
= Is it possible to migrate my website with your Dropbox back up tool? =
|
294 |
-
|
295 |
-
Many people stay us this question and our answer is - YES! It's good possibility to use our back up plugin specially for migration of websites. Also you can migrate your website locally. If you does a local backup, then you can download it to your PC, upload to another place and make recovery there.
|
296 |
|
297 |
= How to do a recovery of my website? =
|
298 |
|
299 |
-
Dropbox Backup and Restore plugin work autonomously.
|
300 |
-
|
301 |
-
= I want schedule backup. How can I schedule backup of my website? =
|
302 |
-
|
303 |
-
To schedule backup of your webpage (website backup), you may use an account at www.webpage-backup.com to schedule backup.
|
304 |
|
305 |
-
=
|
306 |
|
307 |
-
|
308 |
-
Generally - YES, you can create a scheduled backup, but you may sign in to account at www.webpage-backup.com to make a scheduled backup.
|
309 |
|
310 |
-
=
|
311 |
|
312 |
-
|
313 |
|
314 |
-
|
315 |
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
= Should I register to make a back up of my site? =
|
320 |
-
|
321 |
-
Our plugin for back up is completely autonomous plugin for back up, so you don't need to register to make a back up of your site.
|
322 |
-
|
323 |
-
= How can I manually restore my website from one place to another? =
|
324 |
-
|
325 |
-
You can restore your website on another place with two ways:<br />
|
326 |
-
* manually website restoration<br />
|
327 |
-
* automatically website restoration<br />
|
328 |
-
|
329 |
-
For automatically website restoration you may need an account at webpage-backup.com
|
330 |
-
|
331 |
-
= Is it possible to duplicate my website like Duplicator Plugin do that? =
|
332 |
-
|
333 |
-
Backups & Restoring plugin can Duplicate more simply as Duplicator.<br />
|
334 |
-
If you want to duplicate your website, you may backup it first at some storage (for example Dropbox or Amazon, or just on your FTP). You can start duplicate website if the backup process was finished successfully. If isn't - don't try to duplicate, because wrong or incorrect backup can crash your website during duplicating.
|
335 |
|
336 |
= Duplicate and clone is the same thing? =
|
337 |
|
338 |
-
|
339 |
-
|
340 |
-
= How can I manage or coordinate my duplicate website? =
|
341 |
|
342 |
-
|
343 |
-
|
344 |
-
= What does make your "duplicate" plugin, which doesn't make another (e.g. Duplicator plugin)? =
|
345 |
|
346 |
Duplicating is a very complex process. We will explain the website duplicate in the next our explanations about "duplicate website".
|
347 |
|
348 |
= Is it possible to make an Incremental Backup with Dropbox Backup & Restore plugin? =
|
349 |
|
350 |
-
|
351 |
(PS: Autor german language)<br />
|
352 |
Inkrementelle Sicherung (Incremental backup) erwarten viele unser Nutzer. Inkrementelle Sicherung (Incremental backup) kann helfen viele Probleme für die Durchführung der Sicherung in komplexen Systemen zu lösen. Erstellung eines inkrementelles Backup, das ist, was wir eben noch planen zu implementieren in der Dropbox Backup & Restore Plugin. In den Zukünftigen Versionen wird es auch möglich, inkrementelle Backups zu erstellen.<br /><br />
|
353 |
|
354 |
-
|
355 |
-
|
356 |
-
= Just to do a MySQL backup. How to do that? =
|
357 |
|
358 |
-
|
359 |
-
The version for mysql backup (DB Backup) is available due control panel at http://www.webpage-backup.com
|
360 |
|
361 |
-
= We want to make an SCP Backup from our rackspace
|
362 |
|
363 |
-
|
364 |
|
365 |
-
= What do I need to do? Local Backup wasn't created: There is not enough memory to perform archiving of big files and continue
|
366 |
|
367 |
There are two ways to solve your problem:<br />
|
368 |
|
@@ -376,58 +342,53 @@ Full description of php.ini and memory_limit you can find here http://php.net/ma
|
|
376 |
|
377 |
= FTP Backup? =
|
378 |
|
379 |
-
|
380 |
-
|
381 |
-
= Is dropbox backup and restoration plugin really free? =
|
382 |
-
|
383 |
-
Yes, dropbox backup and dropbox restoration are free with plugin "Dropbox Backup and Restore"!
|
384 |
|
385 |
-
=
|
386 |
|
387 |
-
|
388 |
|
389 |
-
=
|
390 |
|
391 |
-
|
392 |
|
393 |
-
= I try to create a dropbox backup. I enter the app key and app secret. Then I was asked for permission to access dropbox, so I hit "allow" and then I'm given an "Internal server error".<br /> What is causing this and how
|
394 |
|
395 |
Please, just wait for some time and try again later.<br />
|
396 |
-
We know this issue about "Internal Server Error"
|
397 |
We cannot recommended you more, than just had to wait it out and problem went away after a while.
|
398 |
|
399 |
= I want to move my website to the new hosting/server. How can I do this? =
|
400 |
|
401 |
-
|
402 |
|
403 |
-
= My website has
|
404 |
|
405 |
-
|
406 |
-
All of this backup plugins like "Dropbox backup & restore", "BackWPup", "UpdraftPlus Backup and Restoration", "WordPress Backup to Dropbox" or "BackUpWordPress" has functionality not only for a backup, but also for restoration (restore or restoring process for website). There are a lot of parameters which are required to be compared.
|
407 |
|
408 |
-
= Why I cannot create local back up? =
|
409 |
-
There are many reasons for failed local back up. For example, you may to sure, that you have enough free space on you hard drive (hosting contingent, with other words: you have a free space) for new back up. Also you may to sure, that you permission for script running, file or folder creation are not limited.<br />
|
410 |
-
You've corrected these problems and still can't make a local back up - please, contact www.webpage-backup.com support.
|
411 |
|
412 |
-
=
|
413 |
-
|
|
|
414 |
|
415 |
-
= I
|
416 |
-
|
417 |
-
To automate backup to Dropbox (scheduled backup to Dropbox), please look at settings block of an installed PRO plugin.
|
418 |
|
419 |
-
=
|
420 |
-
|
421 |
-
|
|
|
|
|
|
|
|
|
422 |
You can check this permissions using some FTP client like "WinSCP" or "FileZilla". You can google and download this software. This program is free of charge.<br />
|
423 |
-
If you have any difficulties, our support
|
424 |
|
425 |
-
= I have tried several times to perform a Dropbox backup of my wordpress site. It says that
|
426 |
-
1. One of the possible thing you can try to do is
|
427 |
|
428 |
= I've been trying to back up a site and I just noticed that it stopped progressing about an hour ago at this line: yyyy-mm-dd xx:xx:xx Add a table "wp_tablexxx" in the database dump. Any idea what happened? =
|
429 |
-
|
430 |
-
then you can try to repair the database before backup creation.<br />
|
431 |
|
432 |
= Hallo, ich habe eben versucht über Ihre Webseite ein Backup in meine Dropbox zum machen - es wurde aber nicht ausgeführt. Das Geld wurde aber von meinem Guthaben bereits abgebucht. Im Scheduler stand auch "WAITING" und dann "PERFORMED" aber die Dropbox ist noch leer. Bitte um Hilfe. =
|
433 |
|
@@ -440,45 +401,43 @@ Ist es möglich, dass Sie uns Ihr System Logs-Dateien zukommen lassen <br />
|
|
440 |
*oder*<br />
|
441 |
geben uns den FTP Zugriff von Ihrer Website, damit wir versuchen Ihnen zu helfen.<br />
|
442 |
|
443 |
-
= Makes me mad that I thought I was protected. Couldn't have went another way. I want create my website backup to dropbox. =
|
444 |
-
Your website is protected, if you have successfully created website backup.<br />
|
445 |
-
Just try to create website backup from you own admin area (from you own WordPress). Backup creating from your own website is fully free!<br />
|
446 |
-
|
447 |
= Seems to be missing something: PHP Extensions sockets, ftp Not Found Functionality are not guaranteed. =
|
448 |
-
Yes, to create backup successfully you'll need such PHP extensions like Sockets or Curl, otherwise we can't guaranteed functionality
|
449 |
|
450 |
-
= I've moved my website to the new hosting provider. Where can I find my PHP Extensions like sockets, ftp or curl to do a
|
451 |
-
You can activate PHP Extensions on you cPanel or Plesk
|
452 |
**If you use cPanel,** <br />
|
453 |
-
login
|
454 |
Check on the corresponding checkboxes to your php extensions, that you want activate.<br />
|
455 |
Save the PHP configuration by clicking the button on bottom (in most cases on the bottom) of this page.<br />
|
456 |
**If you use Plesk dashboard or Plesk (Version 12) administration panel,** <br />
|
457 |
Login to Plesk and in main menu open "Tools & Settings" > "PHP Settings" > *any PHP 5.6 handler*<br />
|
458 |
Clear the checkbox, to have the PHP extension appear on the customers "phpinfo" pages, and click "OK". Wait for the changes in list with PHP extensions to be applied, then select the checkbox and apply the changes once again.<br />
|
459 |
|
460 |
-
= I want optimize my MySQL database before
|
461 |
-
|
462 |
|
463 |
= Once I tried to conduct a Dropbox backup I received this error - Dropbox Backup wasn't created. Dropbox returned an error during file sending: "Invalid OAuth1 token." =
|
464 |
Please, reconnect to Dropbox, by clicking "Connect to Dropbox" button, in the "Settings" on plugin page of your website. <br />
|
465 |
|
466 |
|
467 |
-
= How much time it
|
468 |
-
There are many hardware and
|
469 |
|
470 |
= What does it cost to backup my website? =
|
471 |
-
It's fully free to back up your website, if you performing back up or restore using Dropbox backup and restore plugin autonomously on your own website.
|
472 |
|
473 |
-
|
474 |
-
|
|
|
|
|
475 |
Please, open a support ticket and we will try to help you.
|
476 |
|
477 |
-
= Can I close dropbox plugin page in my WordPress during back up of my website
|
478 |
-
Yes, you can close dropbox plugin page in your WordPress website,
|
479 |
|
480 |
-
= How can I clone my WordPress? I can't find this in
|
481 |
-
|
|
|
482 |
|
483 |
|
484 |
== Changelog ==
|
@@ -487,7 +446,9 @@ Please, keep your Dropbox Backup and Restore plugin up-to-date.
|
|
487 |
|
488 |
**Rev.** / **Description** <br />
|
489 |
|
490 |
-
|
|
|
|
|
491 |
|
492 |
@1506575 New version 1.4.7.3 with full update of Dropbox backup and restore plugin.<br />
|
493 |
@1506495 WordPress backup plugin Dropbox backup & restore, added "exclude/include" files and folder window. Bug fixes.<br />
|
1 |
=== Backup & Restore Dropbox ===
|
2 |
Plugin Name: Backup & Restore Dropbox
|
3 |
+
Version: 1.6.2
|
4 |
Donate link: http://www.wpadm.com/donate
|
5 |
URI: http://www.wpadm.com/dropbox-backup
|
6 |
Tags: dropbox, backup, dropbox backup, migrate, restore, database, full backup, manage, sicherung, database backup, file backup, page backup, page, web, web backup, web page, synchronize, clone, duplicate, move, web page backup, site, site backup, back up, cloud, Cloud Files, cloud backup, db backup, dump, german, multisite, German, schedule, storage, time, upload, data bank, zip, archive, backups, file, db, recover, recovery, restoration, wp backup, wordpress backup, wordpress backup to dropbox, plugin wordpress backup, wpadm, wpadm.com, website, website backup, website back up, wp backup, wordpress backup, scheduled backup, backup scheduler, tool, backup tool
|
7 |
Requires at least: 3.9
|
8 |
+
Tested up to: 4.9.7
|
9 |
Stable tag: trunk
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
Author: WPAdm.com
|
13 |
+
Contributors: dropbox-backup
|
14 |
|
15 |
+
Backup & Restore Dropbox Plugin to create Dropbox and Local Full Backup (Files + Database) or Restore, Duplicate, Clone or Migrate your Website
|
16 |
|
17 |
== Description ==
|
18 |
|
19 |
+
Backup & Restore Drobpox is a secure and unique wordpress plugin, designed for quick and easy creation of reserve copy to Dropbox Cloud and Webserver as well as Restore from Local Storage (webserver) and from Dropbox. This plugin works by making a reserve copy of your website content and uploading these files to Dropbox remote storage or to Webserver.
|
20 |
|
21 |
+
If you do not understand anything or you have any questions, <br />
|
22 |
please, make a [support request](http://www.wpadm.com/support/) first!
|
23 |
|
24 |
+
**Features:**
|
25 |
+
|
26 |
+
|
27 |
+
* Unlimited dropbox backups. The plugin makes full copy of a Webpage (Files + Database), can save it at Local Storage (webserver) if you tick this feature, and uploads it directly to your Dropbox account;
|
28 |
+
* Unlimited local backups. The plugin creates full copy of a Website (Files + Database), stores it at your webserver.
|
29 |
+
* Local Restore: recovers files from web hosting;
|
30 |
+
* Dropbox Restore: recovers files from Dropbox account;
|
31 |
+
* Allows to decide what folder/files to include and exclude from site copy (can be found in "Settings");
|
32 |
+
* Backup and restore of WooCommerce shop including database with products;
|
|
|
|
|
|
|
|
|
33 |
* Notification logging on screen and in file;
|
34 |
+
* Use your own App key and App secret to connect to Dropbox;
|
35 |
* Supports backup on "Low Memory" Hosting or Server;
|
36 |
+
* Possibility to hide the plugin with all performed tasks from wordpress dashboard (only Admins can access the plugin mail page);
|
37 |
+
* Automatic database optimization before the task (can be set in plugin settings box);
|
38 |
+
* Database or Table repair functionality before the process;
|
39 |
+
|
40 |
+
**Premium features:**
|
41 |
+
|
42 |
+
* Schedule automated backups (daily, weekly, monthly);
|
43 |
+
* Migrate worpress site to another hosting automatically;
|
44 |
+
* Email notifiacations about selected task;
|
45 |
+
*Allows to backup website files and database separately from each other;
|
46 |
+
* Automated delete of old reserved copies of the site from Dropbox.
|
47 |
+
|
48 |
+
* Administrate ALL Backups of ALL of your sites from one account – WPAdm-account (Account creation is FREE);
|
49 |
|
50 |
**Account creation is optional, but we suggest to do this.<br /> Why create [www.wpadm.com](http://www.wpadm.com/) account?**<br />
|
51 |
+
Your website can be down, not available or admin back-end can be not responsive. There are many reasons for this, for example:<br />
|
52 |
|
53 |
* Some plugin or some theme (template) has an error;
|
54 |
+
* Plugin or theme (template) was installed incorrectly (wrong installation of WordPress plugins and themes);
|
55 |
+
* Vulnerabilities of user files, WordPress files, WordPress plugin and theme files;
|
56 |
+
* Websites hacking, Websites trojans etc.;
|
57 |
* Server or hosting misconfiguration. For example: files and folder rights, like "owner" rights, "read", "write" and "execution" rights;
|
58 |
+
* Web Server or web hosting misconfiguration, like wrong Apache or nginx configuration, mod_rewrite rules configuration, etc.<br />
|
|
|
59 |
|
|
|
|
|
60 |
|
61 |
**PLEASE, READ CAREFULLY!** <br />
|
62 |
+
**If you like our plugin - please, leave your own [review](https://wordpress.org/support/view/plugin-reviews/dropbox-backup). It will help us to develop, improve and update the plugin for you!**<br />
|
63 |
+
**This is one of a few WordPress plugins, which provides a fully free support (plugin support!) for all of our users.<br />
|
64 |
+
if your website (not this plugin!) has some troubles, we may ask you for FTP access, in order to provide support for you shortly.<br />
|
65 |
+
Providing these FTP DATA IS NOT OBLIGATORY, but if you do this, - our support staff will check your current or previous task process and you will receive a feedback with results.<br />
|
66 |
It can take a while and some patience from you.<br /><br />
|
67 |
+
We are not responsible for any 5хх-errors! Such errors are caused, in most cases (99,9%), by your server/hosting.<br />
|
68 |
+
For a little fee, we can help you solve problems of your server or hosting (to do this, we will need your FTP access data of your website that needs to be checked and configured correctly).<br />
|
69 |
Thank you for your understanding!**
|
70 |
|
71 |
|
72 |
**ALL INFORMATION, PROVIDED BY OUR USERS IS IN SAFETY AND USED FOR SUPPORT ONLY!**
|
73 |
|
74 |
+
If you need help with the plugin or you want to report a bug, please, refer to http://www.wpadm.com/support/
|
75 |
<br />
|
76 |
|
77 |
+
If your website has basic authorisation (basic_auth), it can call some exclusions during backup performance. We are working on this issue.
|
78 |
|
79 |
|
80 |
== Installation ==
|
81 |
|
82 |
### Perform a new installation using FTP
|
83 |
1. Upload the plugin folder `Dropbox Backup` to the `/wp-content/plugins/` directory of your WordPress installation.
|
84 |
+
2. Activate the plugin through the `Plugins` menu in WordPress admin dashboard.
|
85 |
|
86 |
|
87 |
+
### Install the plugin manually uzing zip.archive
|
88 |
|
89 |
+
You can download zip.archive of the plugin from Backup & Restore Dropbox page at wordpress site. After downloading the ZIP file of the plugin, pass the following steps:
|
90 |
|
91 |
+
1. Log in at your wordpress administrator panel;<br />
|
92 |
+
2. Go to Plugins > Add New > Click the button "Upload";<br />
|
93 |
+
3. Click on "Choose file" or "Browse" and select the downloaded zip file that is called dropbox-backup.zip;<br />
|
94 |
*For Mac Users*<br />
|
95 |
+
*Go to your Downloads folder and locate the folder with the name "dropbox-backup". Right-click on this folder and select Compress. Now you have a newly created .zip file which can be installed as described here.*<br />
|
96 |
+
4. Click on "Install Now" button;<br />
|
97 |
+
5. Click on link "Activate Plugin" ;<br />
|
98 |
<br />
|
99 |
+
*If the installation does not succeed, please contact http://www.wpadm.com support team or refer to your system administrator.*<br />
|
100 |
|
|
|
101 |
|
102 |
+
### REMEMBER to connect the plugin to Dropbox before lanching any process in this plugin ###
|
103 |
|
104 |
+
1. Go to WordPress Admin dashboard of your website;<br />
|
105 |
+
2. Open "Settings" box;<br />
|
106 |
+
3. Click "Connect to Dropbox" button and you will use defaut connection;<br />
|
107 |
+
3. To connect to your own Dropbox App, you can use your own App Key and App Secret in corresponding fiels. More Information about this you can read on [FAQ](https://wordpress.org/plugins/dropbox-backup/faq/) page or in the Settings block of your installed plugin, under the "Connect to Dropbox" button;<br />
|
108 |
|
109 |
+
The above mentioned video tutorials will help you with the plugin usage:
|
110 |
<ul>
|
111 |
+
<li>How to install Dropbox Full Backup plugin at self-hosted WordPress site</li>
|
112 |
+
<li>How to connect the plugin to Dropbox</li>
|
113 |
+
<li>How to back up website</li>
|
114 |
</ul>
|
115 |
|
116 |
https://www.youtube.com/watch?v=Hdzoh0BFpmg
|
122 |
== Other ==
|
123 |
|
124 |
|
125 |
+
= Very easy-to-use, universal, multi-task and secure tool to backup, restore and migrate any type of website =
|
126 |
Usefull additional functions can be found at www.wpadm.com in the User profile.
|
127 |
+
Since it is a new plugin, so we tried to provide a bug-free plugin/widget. We maintain this project.
|
128 |
|
129 |
Information about privacy:<br />
|
130 |
+
In case a user has been registered at WPAdm service AND has confirmed their registration,
|
131 |
our plugin will get the minimum requirements of php and mysql configuration, version and language of wordpress.
|
132 |
+
This data will be send to WPAdm service, to get the tool work correctly, to extend supported configurations of user sites with wpadm-extensions and support.<br />
|
133 |
WE DO NOT COLLECT AND DO NOT STORE THE PERSONAL DATA OF USERS FROM THIS PLUGIN!
|
134 |
|
135 |
+
= Hacks and tips =
|
136 |
+
|
137 |
|
138 |
+
It is obvious and true, that in order to sleep calm and be sure in the future of your online business, it is neccessary to secure yourself with regular copies of your website content. Using www.webpage-backup.com service you can make a copy of files or database of any of your projects without distinction either it is a simple website or woocommerce shop. From security point of view, it is important to schedule regular backups, thereby not to lose your content or comments from your databases in case of any trouble. With this online service you can select the folder or special databases that you want to copy and save or just a single website inside your hosting. But for our service it does not matter if the files are large or small, in case of the restoration it is the same. Concerning the local backup which is done on your hosting. If your hosting has enough space it is ok, but it is not recommended and does not provide 100% security for your files, because it is possible that something may happen with your hosting or after some time you want to change your hosting provider. You should remember one truth, if you create secure copies of the site regularly and has limited storage, sooner or later its size will get full and it will not allow to save website copies anymore. Keep it in mind, please. For this reason the best is to use the Dropbox storage. Dropbox storage is scalable and you can remove unnecessary info from it easily, thus clearing some space. You can make it manually and for free. Moreover, cloud storage is more secure than hosting. You do not have to upload your dropbox site security copy on your PC, as the plugin allows to restore it directly from dropbox drive clicking just one button in the plugin. Independently of our service it is possible to download, upload the data from the dropbox account. In order to clone, migrate or copy a site, it is important to have correct access permissions for folders and files to write is the same as permission to access the folder or to uploading it. To perform any task with this tool, it does not matter if your site has SSL certificate or it is normal woocommerce shop without SSL certificate. For our www.webpage-backup.com service it is important that it has permissions to the folders and to the cloud drive.
|
|
|
139 |
|
140 |
= Special functions =
|
141 |
|
142 |
+
= Special functions =
|
143 |
+
Migration, back up scheduling, cron backup, wpmu backup, and encryption by cloning, website or multisite cloning - all these features belong to the special features. Online service www.webpage-backup.com. allows to perform multisites secure copies from one place. Addons for your pages or multisite (WPMU) peges you can add inside of your service account if you want. But for some of this function it is required to register on www.webpage-backup.com to be able to manage multisites or just for one page menaging, for cron and scheduled dropbox backup as for full restoration of you WooCommerce shop, website or multisite as well as for migration. It is not possible to make full restoration of website from dropbox copy without the WordPress site itself.
|
144 |
|
145 |
= Easy backup =
|
146 |
|
147 |
+
This Dropbox Full Backup plugin has easy intuitive interface that was created both for ordinary users, not experts without any superb knowledge and multisites owners, and for experts, webmasters ans programmers. For experts we have a special explorer where the expert can select or exclude files and folders from backup creation. As the registered user you can use multiple dropbox accounts or create other multisite clouds, as FTP. All automatic functions are inside of our service. To automatic tools belong: cron and scheduler, migrator and remote. Scheduled tasks for dropbox you can setup in our calendar, where it is possible to appomt particulat days and time when you want to perform the task.
|
148 |
+
|
149 |
+
= Back Up, сloning, duplicate or migrate of websites =
|
150 |
|
151 |
+
Cloning, duplicate or migration in principal means the same process when you move the site from one hosting provider to another one . The process is automatic and requires just several easy clicks from you. It gives you the possibility quickly clone website with “templates” for multiple site. This clone tool is very useful, if you have more than one website or, if you want to clone or duplicate your web page. You can migrate from old site or WooCommerce shop to a new one with this plugin clicking on one button, only if you have previously made backup of your old website. All multisite functions are available from one dashboard of cloning tool, as well as WPMU backup in the same cloud or in several cloud storages of hosting provider or just server. From the same dashboard are available cloning functions separately or in bundle. Using this plugin you can make it without expert knowledge. Clone add-ons allow your easy backup or migrate your website or WPMU (multisite).
|
152 |
|
153 |
+
= Easy data restoring =
|
154 |
|
155 |
+
To recover your website (or multisite) select necessary back-up with the data of its type, date and size. In case of cloning you restore your old website copy on new wordpress installation. Website movement looks almost the same as a simple site recovery, but requires some more steps. With our file explorer you can match every file separately for restoration. In case of recovering process only these files will be recovered. You cannot restore one file than the next, the plugin provides full website restoration. The restoration time depends from your hosting and upload rate, the file size. Current plugin does not support scheduled restore, unless somebody send a special inquiry on our service to implement scheduled recovering. The recover from the Dropbox cloud storage takes time, depending on the web site size and access permissions of the folders of your hosting provider.
|
156 |
|
|
|
157 |
|
158 |
+
= Is it vital to backup website to remote Dropbox storage?
|
159 |
+
<p>In the age of trend-setting technologies, backuping is necessary for many life spheres that are related in any way for creation of something. That refers to programming, site building, engineering, designing, not to mention ordinary home data - photos, videos and other stuff. This list can go on and on… One would think, what is so special about this backing up thing? Well, the one fact known for sure is that it saves lives of both: different projects and people who fagged away at these very same projects.</p>
|
160 |
+
<p>It has been said all the time that everyone should make the reserve copy, but not many actually do that, and besides, there are even those who have no clue about it and what it is for. Nevertheless, information about this procesure is really an important and useful habit, so let’s know what’s what about it.</p>
|
161 |
+
<p>Firstly, there’s a need to determine the back up process – it is a data redundancy to different storage devices, making copies of the existing data. Now let’s clear its usefulness to each and every. On the one hand, modern computers and their hard drives, which are the major and the most popular data storage places, have attained quite dramatic reliability numbers. Multiform redundant coding on different levels of data management provides strong security from the possible sad situations when the information is damaged as a result of accidental error in the act of data saving. But on the second hand thought, even the most dependable storage mediums sooner or later go down, and for what is more, it usually happens all of the sudden. Now that is the break point, when you finally change your mind upon all the information kept by people on their hard discs. Passwords and contacts, momentous pictures and rare music collections, all possible working data – this whole treasure can disappear without warning from your website, which can turn to serious financial and time losses in addition to emotional stress.</p>
|
162 |
+
<p>The easiest variant is to simply copy data to another folder on a hard drive. But unfortunately, that is an unreliable decision, because that would release you from only the small number of possible problems, even if this folder is placed on another hardware. Now you are aware that at the present digital information day creating of reserve cope of the whole website is neither a whim nor extra precaution, this is a plain safety measure.</p>
|
|
|
163 |
|
164 |
+
= What to do if site recover fails? =
|
165 |
|
166 |
+
First of all, check the data spelling. It is the most common mistake. Other common mistakes that may occur during the recovering are:
|
167 |
|
168 |
+
* to recover from wrong or damaged cloud storage account;
|
169 |
+
* if done just a database back up – not full and you can't see the recovering site;
|
170 |
+
* during the recovering process there was an interrupted or lost internet connection;
|
171 |
+
* In your database there are file exclusions;
|
172 |
+
* your database backuping was not consistent;
|
173 |
+
* file archive of reserve copy with a broken checksum;
|
174 |
+
* misspelled back up due to user failed restore;
|
|
|
175 |
|
176 |
+
Large file and big size databases takes more time to get backed up or recovered. It can take until two hours or more, depends on the size of your database, but for our recovery service it doesn’t matter for uploading of large files or small files. The only difference between restoring of the large files and small is the time. <br />
|
177 |
+
After checking all of these figures please email our support team http://www.webpage-backup.com and we will try to answer as soon as possible and to give you’re the best solution how easy to recover your site.
|
178 |
|
179 |
+
If you see any 5xx error codes, as a return from your backuping procedure:<br />
|
180 |
+
please, do not hesitate to contact your own system administrator (admins, support etc.), because this type of errors come from your server.<br />
|
181 |
|
182 |
+
**The regular creation of website reserve copy protects from viruses.**
|
183 |
|
184 |
+
There are some requirements for this:<br />
|
185 |
+
• Make copies of your files and store them at secure remote storage regularly and as often as you can;<br />
|
186 |
+
• Rank your data by importance backuping essential information first. Generally, temporary files only add up to the back up volume and carry no significance, so get rid of them;<br />
|
187 |
• Do not store your file copies on the same hard drives;<br />
|
188 |
+
• Make sure you can access your copied content any time and from any place;<br />
|
189 |
• Schedule your backups and ensure you get informed on their status;<br />
|
190 |
• If your medium capacity or bandwidth is limited use compression tools;<br />
|
191 |
+
A good solution is to have a separate server for remote site copies although it is not fail-safe. If the server is unavailable restoration will be impossible. To ensure high accessibility and data safety use cloud storage services.<br />
|
192 |
+
There are a lot of services providing free but limited cloud storage capacity like Google Drive, Amazon S3 (AWS) or Dropbox. The problem is they do not support FTP protocol which sometimes is the most adequate way of data transfer. In comparison, virtually every host company supports this protocol.
|
193 |
|
194 |
+
= Restoration =
|
195 |
<p>Different factors may be the reason for someone to restore his data from a dropbox backup. This is a truly helpful option that supposes bringing the saved data from dropbox storage place back to its original in case you’ve lost or damaged the existing one.</p>
|
196 |
= Best Choice to Keep Data =
|
197 |
+
<p>Among the available ways to maintain information the first place belongs rightfully to **remote cloud storages** or **cloud drives**. These are sorts of virtual data storages, that save and manage the data via numerous servers strewn about World Wide Web. Their principle is simple: every ‘cloud’ has definitively stated limit of Gb virtual space, that is given to a new user absolutely for free. But in time, if a person wants to expand it, he’ll have to pay according to price plan. So here we have a simple case of effective advertising – a user gets used to the comfort and mobility of the network repository, and after he concludes that the cloud suits him to the full extend in every meanings, he pays for the “rent” of this sufficiency.</p>
|
198 |
+
= Advantages of Dropbox storage for WordPress =
|
199 |
+
<p>For the present day Dropbox cloud is still an unbeaten leader that comprises multi-million clients number. Most probably that has to do with the fact that it is Dropbox that stood at the origins of virtual space providing to users, and it is the first company, that has realized the idea of remote cloud data storage. It works by creation of a virtual folder in the cloud, where any kind of info can be saved, the one which you download to your Dropbox folder on your computer. For the WordPress website management the best choice is to download a plugin to easily administrate your source from wordpress admin dashboard. Backup&Restore Dropbox has many positive reviews and it deals with the performance of various tasts.</p>
|
200 |
<br />
|
201 |
+
<p>Dropbox Full Backup for WordPress is good for restore, migration and backup tasks. It allows to use your own App key and App secret in order to keep then private with higher security for yourself. It can be your personal guard that can keep all the files saved and backed up as much as possible, and even in case of your website data lost, you are able to restore all the data just with one click. </p>
|
202 |
<br />
|
203 |
+
<p>To make a conclusion we’d say, that in order to be safe and sound with any of your data of your WordPress site information you should secure yourself with backing up of an important information. That will cut possible damages to minimum and save your time and nerves.</p>
|
204 |
|
205 |
|
206 |
|
214 |
|
215 |
= I clicked on the "Backup to Dropbox" button, but nothing happens. What's wrong? =
|
216 |
|
217 |
+
Before making a copy of your website to dropbox, please make sure, that the plugin is connected to your dropbox account. <br />
|
218 |
+
To do this, please, open the "Settings" block in your installed plugin. There you should see your Dropbox UID (User ID). If you don't see your Dropbox connection App UID - your Dropbox plugin is NOT CONNECTED to your Dropbox account, as a result it is getting impossible to create and save the backed up data.<br />
|
219 |
+
So please, at first connect yourself to Dropbox and then, launch the process of the website reserve copy.
|
220 |
|
221 |
= How to restore my site from dropbox backup? =
|
222 |
|
223 |
+
- It is possible to restore website using this tool, only if the site was previously backed-up with this tool;<br />
|
224 |
+
- First you shoul be connected to your dropbox account, either using simple connection or your own apps key and app secret, depending what methid you use, where your website files are saved.
|
225 |
+
- If you are connected, you will see the list of all backups in your plugin. Click Restore button to recover the one you need.
|
226 |
|
227 |
|
228 |
= My web page completely crashed and not available. How can I restore my web page from dropbox backup? =
|
229 |
|
230 |
+
-Create new wp installation;
|
231 |
+
-Connect to your Dropbox account that you used to save your site files;
|
232 |
+
-In the appeared list of reserved copies, find the one to recover, and hit Restore button.
|
233 |
|
234 |
+
= Should I upgrade my plugin to the newer version? =
|
235 |
|
236 |
+
Yes. We recommended to update or upgrade to a newest versions to be able to use new feqatures and better plugin functioning.
|
237 |
|
|
|
238 |
|
239 |
+
=How to solve this issue? There is not enough script running time to perform backup operations, please increase the PHP variable max_execution_time. =
|
|
|
240 |
|
241 |
There are two ways to do it increase the PHP variable max_execution_time:<br />
|
242 |
|
243 |
+
1. Open Settings in this plugin main page in your WordPress website dashboard.Find the setting “Waiting time (minutes)” with default value of “3”. Please increase it up to “8”, “10” or “15” and try to perform backup/restore again. <br />
|
244 |
+
|
245 |
+
2. try to choose another archiving method. Open Settings. Find the option "Create backup using the following methods". Untick TarGz archive and try to perform the task using Zip Shell or untick both to use default method of archiving. <br />
|
246 |
|
247 |
+
3. If you have access to your hosting / server dashboard, please, find PHP settings and add the following:<br />
|
248 |
|
249 |
max_execution_time = 90 (script running 90 seconds).<br />
|
250 |
|
251 |
+
4. If you have access to FTP settings, find FTP file, called php.ini and add there max_execution_time = 90 (script running 90 seconds).<br />
|
252 |
|
253 |
If 90 is not enough for your script running, write 120 and so forth. <br />
|
254 |
|
255 |
If you write down 0, you will have unlimited script running time. <br />
|
256 |
Some materials take a long time to process before being transmitted.<br />
|
257 |
|
258 |
+
5. If you can’t find the php.ini file, then just try to create a new one in the root folder of your website. Add the setting described above to the created php.ini file.<br />
|
259 |
|
260 |
+
6. If the methods above doesn’t work for you - try to set append variable at the end of index.php file in root folder of your website.<br />
|
261 |
|
262 |
ini_set('max_execution_time', '90');<br />
|
263 |
|
264 |
+
7. You can also add the following code in .htaccess file:<br />
|
265 |
|
266 |
php_value max_execution_time 90<br />
|
267 |
|
268 |
**Check, if you have added this setting to the currently active php.ini file.**<br />
|
269 |
|
|
|
270 |
|
271 |
|
272 |
|
273 |
+
= I just downloaded the dropbox full backup addon for my wordpress site. I've connected it to my dropbox account and pushed the button "create dropbox backup". How can I find my copied data now? =
|
274 |
|
275 |
+
If you tick the checkbox "Leave local copy on my hosting"in the Setting of Dropbox plugin, than you may to have two backup copies:<br />
|
276 |
+
- the one, that was saved locally on hosting of your website, in folder '/wp-content/Dropbox_Backup/';
|
277 |
+
- the second one, that was uploaded to your Dropbox account. You can find following this path -"WPAdm" folder/your site name/your backup name/ that contains all the files;
|
278 |
+
Note, if you don't checked the checkbox "Leave local copy on my hosting" in the Settings of your Dropbox plugin, then locally created back-up on hosting of your website will be deleted after upload to your Dropbox.
|
279 |
|
280 |
+
= How can I backup many websites? =
|
281 |
|
282 |
Manage of multiple back ups is possible from your account on webpage-backup.com
|
283 |
|
284 |
+
= Is it possible to migrate using this tool? =
|
|
|
|
|
|
|
|
|
285 |
|
286 |
+
Yes. If you have a back up, created with our Dropbox Backup and Restore plugin, then you can use it for migration or doing some clone to another place (server / web hosting). Also you can migrate your website locally. If you have a local back up, then you can download it to your PC, upload to another place and make recovery there.
|
287 |
|
288 |
+
= I cannot find my back up at my Dropbox. Why? How can I find them? =
|
289 |
|
290 |
+
We would recommend to check your app key and app secret, that you used for dropbox connection before launching the backuping task.
|
|
|
|
|
|
|
|
|
291 |
|
292 |
= How to do a recovery of my website? =
|
293 |
|
294 |
+
Dropbox Backup and Restore plugin work autonomously.
|
|
|
|
|
|
|
|
|
295 |
|
296 |
+
= I want to create reserve copies of my webpage automatically on particular days and time. How can I schedule this process? =
|
297 |
|
298 |
+
It is possible to plan back ups either from www.webpage-backup.com or from the pro plugin version.
|
|
|
299 |
|
300 |
+
= Should I register for webpage backuping? =
|
301 |
|
302 |
+
Our plugin is completely autonomous, so you don't need to register, you can do it just from plugin main page at your wp panel.
|
303 |
|
304 |
+
= Is it possible to duplicate my website like Duplicator Plugin does that? =
|
305 |
|
306 |
+
Yes, you can do it and even simplier as Duplicator.<br />
|
307 |
+
If you want to duplicate your website, you should backup it first at some storage (for example Dropbox or Amazon, or just on your FTP). Once it is successful, you can precees with duplication process. If isn't , don't try to duplicate, because wrong or incorrect backup can crash your website during the process.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
|
309 |
= Duplicate and clone is the same thing? =
|
310 |
|
311 |
+
These notions have one meaning and used to name the process of website coping.
|
|
|
|
|
312 |
|
313 |
+
= What can make your "duplicate" plugin, which doesn't make another (e.g. Duplicator plugin)? =
|
|
|
|
|
314 |
|
315 |
Duplicating is a very complex process. We will explain the website duplicate in the next our explanations about "duplicate website".
|
316 |
|
317 |
= Is it possible to make an Incremental Backup with Dropbox Backup & Restore plugin? =
|
318 |
|
319 |
+
This feature is expecting by many users, as it can help solve many problems for the implementation of the backup in complex systems. Create an incremental backup, that's what we're working at and this option will be available in one of the next plugin updates.<br /><br />
|
320 |
(PS: Autor german language)<br />
|
321 |
Inkrementelle Sicherung (Incremental backup) erwarten viele unser Nutzer. Inkrementelle Sicherung (Incremental backup) kann helfen viele Probleme für die Durchführung der Sicherung in komplexen Systemen zu lösen. Erstellung eines inkrementelles Backup, das ist, was wir eben noch planen zu implementieren in der Dropbox Backup & Restore Plugin. In den Zukünftigen Versionen wird es auch möglich, inkrementelle Backups zu erstellen.<br /><br />
|
322 |
|
323 |
+
= How to create MySQL backup? =
|
|
|
|
|
324 |
|
325 |
+
Free version of this plugin does not support just separate MySQL backuping (database backup) same as a separate filesystem back-up. You can realize this task with a file system or just use premium version of our plugin or from control panel at http://www.webpage-backup.com<br />
|
|
|
326 |
|
327 |
+
= We want to make an SCP Backup from our rackspace. For this operation we would like to use your Dropbox plugin. =
|
328 |
|
329 |
+
Please, wait for some newer versions of this plugin, and we will implement the option of an scp backup for you.
|
330 |
|
331 |
+
= What do I need to do? Local Backup wasn't created: There is not enough memory to perform archiving of big files and continue this operation, please increase the PHP variable memory_limit. =
|
332 |
|
333 |
There are two ways to solve your problem:<br />
|
334 |
|
342 |
|
343 |
= FTP Backup? =
|
344 |
|
345 |
+
Possible to make at http://www.webpage-backup.com online service.
|
|
|
|
|
|
|
|
|
346 |
|
347 |
+
= Is Backup & Restore Dropbox plugin really free? =
|
348 |
|
349 |
+
Yes, originally the plugin is free and provides inlimited tasks.
|
350 |
|
351 |
+
= Does his dropbox plugin back up site templates? =
|
352 |
|
353 |
+
As soon as the plugin creates FULL copy of the site, it includes all data - templates, plugins, content, articles, videos, images, etc.
|
354 |
|
355 |
+
= I try to create a dropbox backup. I enter the app key and app secret. Then I was asked for permission to access dropbox, so I hit "allow" and then I'm given an "Internal server error".<br /> What is causing this and how can I fix it? =
|
356 |
|
357 |
Please, just wait for some time and try again later.<br />
|
358 |
+
We know this issue about "Internal Server Error" comes from the Dropbox servers. There is only one way is to be patient and give it another try.
|
359 |
We cannot recommended you more, than just had to wait it out and problem went away after a while.
|
360 |
|
361 |
= I want to move my website to the new hosting/server. How can I do this? =
|
362 |
|
363 |
+
Migration feature is available in Dropbox Full Backup PRO version.
|
364 |
|
365 |
+
= My website has very BIG files, like photos, videos and so on. During the creation of reserve copy it's return this message "Maximum execution time of XXX seconds exceeded" and sometimes some other messages while uploading to dropbox. I've tried to do my backups with some of known WordPress plugins like "BackWPup", "UpdraftPlus Backup and Restoration", "WordPress Backup to Dropbox", "BackUpWordPress" but it's all without success. Can you please advise me after all these failures, why I have to trust in "Dropbox Backup & Restore" plugin? =
|
366 |
|
367 |
+
There might be the problem not only in plugins"BackWPup", "UpdraftPlus Backup and Restoration", "WordPress Backup to Dropbox", "BackUpWordPress", "Dropbox backup & restore" plugin but with your hosting configurations, namely resources which the hosting gives you<br />
|
|
|
368 |
|
|
|
|
|
|
|
369 |
|
370 |
+
= Why I cannot create local backup? =
|
371 |
+
There are many reasons for the failure. For example, it is necessary to check if you have enough free space at your hard drive (hosting contingent). Secondly, check if your access permissions for script running, file or folder creation are not limited.<br />
|
372 |
+
If you've corrected these problems and still can't make a local back up - please, contact www.webpage-backup.com support.
|
373 |
|
374 |
+
= Hi, I made a Local Backup and it created 23 zip files, 1 MD5 file and 1 SQL file. How I can validate that the process ended successfully and the files will work in the future for restore? =
|
375 |
+
At the end of successfully created backup you will receive a results message like "successful" .MD5 file will be created that is the main indicator that the process was finished successfully.
|
|
|
376 |
|
377 |
+
= I have been using your free version of Dropbox Backup without problem. I just paid for the Pro version and downloaded the files to my computer. What do I do now to activate the Pro version on my WP site and automate dropbox back ups? =
|
378 |
+
The PRO version of plugin was activated during the payment process, so if you already downloaded the PRO version – it's already activated. Just upload zip.file with the plugin to your wp admin panel.
|
379 |
+
To automate backup to Dropbox, open Settings box withing the plugin main page and find the setting "Scheduler", turn it on, specify how frequently you want to create web copies and save your changes.
|
380 |
+
|
381 |
+
= Getting this message: "Dropbox Backup wasn't created. Website "XXXXXXXX" returned an error during file creation: Failed to create file, please check the permissions on the folder "/web1/user/website/XXXXXXXX/wp-content/Dropbox_Backup". Please can you advise? =
|
382 |
+
For an appropariate plugin work and successful perform of all tasks, there should be created plugin folder with this path on you website hosting or website server "/web1/user/website/XXXXXXXX/wp-content/Dropbox_Backup"<br />
|
383 |
+
AND this folder should have correct access permissions, that is in most cases 755 rights.<br />
|
384 |
You can check this permissions using some FTP client like "WinSCP" or "FileZilla". You can google and download this software. This program is free of charge.<br />
|
385 |
+
If you have any difficulties, our support team can do it for you, but in this way you'll need send FTP access credentials of your website to our support.
|
386 |
|
387 |
+
= I have tried several times to perform a Dropbox backup of my wordpress site. It says that it has been performed, however it shows 0 even after being refreshed. The Dropbox folder is showing no items in it. What am I missing to do? =
|
388 |
+
1. One of the possible thing you can try to do is to refresh your web browser cache using the combinations of keys - Ctrl+F5.<br />
|
389 |
|
390 |
= I've been trying to back up a site and I just noticed that it stopped progressing about an hour ago at this line: yyyy-mm-dd xx:xx:xx Add a table "wp_tablexxx" in the database dump. Any idea what happened? =
|
391 |
+
By default the plugin does an automatic database optimization before any task, <br />however if you have any broken table in your database <br /> then you can tick the option to repair the database before lanching the process.<br />
|
|
|
392 |
|
393 |
= Hallo, ich habe eben versucht über Ihre Webseite ein Backup in meine Dropbox zum machen - es wurde aber nicht ausgeführt. Das Geld wurde aber von meinem Guthaben bereits abgebucht. Im Scheduler stand auch "WAITING" und dann "PERFORMED" aber die Dropbox ist noch leer. Bitte um Hilfe. =
|
394 |
|
401 |
*oder*<br />
|
402 |
geben uns den FTP Zugriff von Ihrer Website, damit wir versuchen Ihnen zu helfen.<br />
|
403 |
|
|
|
|
|
|
|
|
|
404 |
= Seems to be missing something: PHP Extensions sockets, ftp Not Found Functionality are not guaranteed. =
|
405 |
+
Yes, to create backup successfully you'll need such PHP extensions like Sockets or Curl, otherwise we can't guaranteed successful functionality of the tool.
|
406 |
|
407 |
+
= I've moved my website to the new hosting provider. Where can I find my PHP Extensions like sockets, ftp or curl to do a back up? Because the Dropbox plugin says me, that functionality for Dropbox back up and restoration plugin can't guaranteed... =
|
408 |
+
You can activate PHP Extensions on you cPanel or Plesk at your hosting administration panel.
|
409 |
**If you use cPanel,** <br />
|
410 |
+
login at cPanel and scroll down to "Software and Services" or "Advanced" block and open "PHP configuration" or "PHP PEAR packages".<br />
|
411 |
Check on the corresponding checkboxes to your php extensions, that you want activate.<br />
|
412 |
Save the PHP configuration by clicking the button on bottom (in most cases on the bottom) of this page.<br />
|
413 |
**If you use Plesk dashboard or Plesk (Version 12) administration panel,** <br />
|
414 |
Login to Plesk and in main menu open "Tools & Settings" > "PHP Settings" > *any PHP 5.6 handler*<br />
|
415 |
Clear the checkbox, to have the PHP extension appear on the customers "phpinfo" pages, and click "OK". Wait for the changes in list with PHP extensions to be applied, then select the checkbox and apply the changes once again.<br />
|
416 |
|
417 |
+
= I want to optimize my MySQL database before launching the back up process. How can I do that? =
|
418 |
+
The feature "Database optimization" is set by default in plugin settings. If you hasn't changed this configuration, then every time, as you doing backup, the database will be optimized automatically.
|
419 |
|
420 |
= Once I tried to conduct a Dropbox backup I received this error - Dropbox Backup wasn't created. Dropbox returned an error during file sending: "Invalid OAuth1 token." =
|
421 |
Please, reconnect to Dropbox, by clicking "Connect to Dropbox" button, in the "Settings" on plugin page of your website. <br />
|
422 |
|
423 |
|
424 |
+
= How much time does it take to create a backup of my website? =
|
425 |
+
There are many hardware and server dependences. Approximately the average time for website takes up to 360 seconds for 50 Mb website.
|
426 |
|
427 |
= What does it cost to backup my website? =
|
|
|
428 |
|
429 |
+
Backups are free if you make them from standalone plugin version.
|
430 |
+
|
431 |
+
= After installing and trying to run a backup... my website fails to load... Can you please help me? =
|
432 |
+
<strong>The current plugin doesn't make any changes neither in your WordPress nor in its configuration.</strong> It does only archive of your files and copy this archive in local folder or dropbox folder without to make some changes.<br />
|
433 |
Please, open a support ticket and we will try to help you.
|
434 |
|
435 |
+
= Can I close dropbox plugin page in my WordPress during back up procedre of my website? =
|
436 |
+
Yes, you can close dropbox plugin page in your WordPress website, as the backup will be created during the cron task of WordPress and the whole process will be executed in background.
|
437 |
|
438 |
+
= How can I clone my WordPress? I can't find this feature in your tool. =
|
439 |
+
Cloning feature is available only in Dropbox Full Backup PRO version.
|
440 |
+
Moreover, with some tricky steps you can clone your WordPress to the new place. Try to rename your domain backup folder on Dropbox and use the same Dropbox App key and App secret to get this backup folder on your new WordPress place. After restoring on new folder or hosting - it will give you new cloned WordPress.
|
441 |
|
442 |
|
443 |
== Changelog ==
|
446 |
|
447 |
**Rev.** / **Description** <br />
|
448 |
|
449 |
+
Bugs and syntax fixing for Version 1.6.2
|
450 |
+
|
451 |
+
Dropbox backup and restore plugin was successfully tested on WordPress 4.9.7<br />
|
452 |
|
453 |
@1506575 New version 1.4.7.3 with full update of Dropbox backup and restore plugin.<br />
|
454 |
@1506495 WordPress backup plugin Dropbox backup & restore, added "exclude/include" files and folder window. Bug fixes.<br />
|