Cómo crear un archivo tar de archivos y directorios (carpetas) en el servidor usando un script PHP

Una solución muy simple en muchas situaciones, para un problema bastante serio. En el escenario en el que tenemos que mover un sitio web, cuyos archivos ascienden a unos miles, y el proveedor de alojamiento web no nos proporciona una sistema de copia de seguridad con el archivo u otro método similar para permitir esto, Transferencia FTP Es una solución que nos llevaría mucho tiempo.

Un script PHP cargado en el servidor que aloja el sitio web nos ayudaría a hacerlo formato tar el archivo de todos los archivos en una carpeta.

¿Cómo puedo archivar archivos y carpetas en un servidor web usando un script PHP?

Copie el siguiente script y colóquelo en un archivo .php en el servidor. Ejemplo: arhiva.php para contener el siguiente script:


<?php
try {
//make sure the script has enough time to run (300 seconds = 5 minutes)
ini_set('max_execution_time', '300');
ini_set('set_time_limit', '0');
$target = isset($_GET["targetname"]) ? $_GET["targetname"] : 'archive.tar'; //default to archive.tar
$dir = isset($_GET["dir"]) ? $_GET["dir"] : './.'; //defaults to all in current dir
//setup phar
$phar = new PharData($target);
$phar->buildFromDirectory(dirname(__FILE__) . '/'.$dir);
echo 'Compressing all files done, check your server for the file ' .$target;
} catch (Exception $e) {
// handle errors
echo 'An error has occured, details:';
echo $e->getMessage();
}
?>

¡Atención! La secuencia de comandos se debe aumentar en la carpeta donde queremos que el archivo y la carpeta de archivos que contiene. Por ejemplo, si desea archivar toda la carpeta wp-content contenido, WordPress, nuevo archivo llamado arhiva.php se subió en wp-content / /.

El archivo se crea accediendo al archivo arhiva.php en el navegador. url: http: ..web_name.tld / wp-content / archive.php, y al final de la operación en el servidor estará presente el archivo archive.tar.

Si tiene un gran volumen de archivos, cambie el valor de "tiempo de espera" del tiempo de ejecución. Puede hacer esto desde php.ini o .htaccess.

Apasionado de la tecnología, me gusta probar y escribir tutoriales sobre sistemas operativos. macOS, Linux, Windows, sobre la configuración del servidor web WordPress, WooCommerce y LEMP (Linux, NGINX, MySQL y PHP). Escribo en StealthSettings.com desde 2006, y unos años más tarde comencé a escribir en iHowTo.Tips tutoriales y noticias sobre dispositivos en el ecosistema Apple: iPhoneiPad Apple Reloj, HomePod, iMac, MacBook, AirPods y accesorios.

Deja un comentario