copia de seguridad de archivos en Google Drive usando PHP

Tengo un servidor y un nombre de dominio enVe papi.

Quiero crear una copia de seguridad para que mis archivos se carguen enGoogle Drive

Para que todos mis archivos y mi base de datos tengan sus datos enGoogle Drive.

yo sueloPHP yMySQL para mi base de datos

Después de un poco de investigación, encontré "Copia de seguridad automática de los archivos de su servidor web en GoogleDrive con PHP"e hizo lo que dijo.

He descargado los archivosgoogle-api-php-client desde elrepositorio de backuptogoogledrive.

Y tengo unIdentificación del cliente, secreto del cliente y uncódigo de autenticación

Edité el setting.inc y puse el míoIdentificación del cliente, secreto del cliente ycódigo de autenticación. Yo tambien pongo miMySQL nombre de usuario, contraseña y nombre de host.

En esta paginabackuptogoogledrive debería crear un.tar.gz carpeta y esta carpetadebería contener los archivos de mi sitio web. Entonces, esta carpeta debería subirlo a miGoogle Drive y hago lo mismo para mi base de datos.

<?php
  set_time_limit(0);
  ini_set('memory_limit', '1024M'); 
  require_once("google-api-php-client/src/Google_Client.php");
  require_once("google-api-php-client/src/contrib/Google_DriveService.php");
  include("settings.inc.php");

  if($authCode == "") die("You need to run getauthcode.php first!\n\n");

  /* PREPARE FILES FOR UPLOAD */

  // Use the current date/time as unique identifier
  $uid = date("YmdHis");
  // Create tar.gz file
  shell_exec("cd ".$homedir." && tar cf - ".$sitedir." -C ".$homedir." | gzip -9 > ".$homedir.$fprefix.$uid.".tar.gz");
  // Dump datamabase
  shell_exec("mysqldump -u".$dbuser." -p".$dbpass." ".$dbname." > ".$homedir.$dprefix.$uid.".sql");
  shell_exec("gzip ".$homedir.$dprefix.$uid.".sql");

  /* SEND FILES TO GOOGLEDRIVE */

  $client = new Google_Client();
  // Get your credentials from the APIs Console
  $client->setClientId($clientId);
  $client->setClientSecret($clientSecret);
  $client->setRedirectUri($requestURI);
  $client->setScopes(array("https://www.googleapis.com/auth/drive"));
  $service = new Google_DriveService($client);  
  // Exchange authorisation code for access token
  if(!file_exists("token.json")) {
    // Save token for future use
    $accessToken = $client->authenticate($authCode);      
    file_put_contents("token.json",$accessToken);  
  }
  else $accessToken = file_get_contents("token.json");
  $client->setAccessToken($accessToken);  
  // Upload file to Google Drive  
  $file = new Google_DriveFile();
  $file->setTitle($fprefix.$uid.".tar.gz");
  $file->setDescription("Server backup file");
  $file->setMimeType("application/gzip");
  $data = file_get_contents($homedir.$fprefix.$uid.".tar.gz");
  $createdFile = $service->files->insert($file, array('data' => $data, 'mimeType' => "application/gzip",));
  // Process response here....
  print_r($createdFile);      
  // Upload database to Google Drive
  $file = new Google_DriveFile();
  $file->setTitle($dprefix.$uid.".sql.gz");
  $file->setDescription("Database backup file");
  $file->setMimeType("application/gzip");
  $data = file_get_contents($homedir.$dprefix.$uid.".sql.gz");
  $createdFile = $service->files->insert($file, array('data' => $data, 'mimeType' => "application/gzip",));
  // Process response here....
  print_r($createdFile);  

  /* CLEANUP */

  // Delete created files
  unlink($homedir.$fprefix.$uid.".tar.gz");
  unlink($homedir.$dprefix.$uid.".sql.gz");

?>

El problema ahora es que tengo dos carpetas para la base de datos y no hay ningún problema, y una segunda carpeta para los archivos. Pero esta carpeta no tiene ningún archivo.

¿Como puedó resolver esté problema?

// User home directory (absolute)
  $homedir = "/home/mhmd2991/public_html/"; // If this doesn't work, you can provide the full path yourself
  // Site directory (relative)
  $sitedir = "public_html/"; 

Respuestas a la pregunta(3)

Su respuesta a la pregunta