如何解决Plesk已更新,现在tar --exclude不会在备份脚本中排除文件夹
Debian 4.9.240-2(2020-10-30)x86_64上的PHP版本7.1.33
嗨,
我用这个脚本备份了我的网站很多年了,但是在上次Plesk面板更新之后,并不排除使用所有图像和缓存文件创建巨大压缩包的文件夹。 该脚本使用的是我不熟悉的可执行命令,有人可以帮助我吗?
<?php
/********** CONFIGURAZIONE **********/
$path_folder_name = '/var/www/vhosts/yesdomain.com/httpdocs/'; #Path assoluto della cartella della quale vuoi fare il backup. Inizia e termina con lo slash.
$backup_folder_name = '/var/www/vhosts/yesdomain.com/httpdocs/backup_data/'; #Path assoluto della cartella nella quale salvare i backup. Inizia e termina con lo slash. Permessi: 777.
$max_backups = 3; #Numero massimo di backup ammessi.
$exclude_files = array( #File e/o cartelle da NON includere nel backup. La cartella di backup è esclusa automaticamente
'image/*','system/storage/cache/lightning/*','backup_db/*' #Le cartelle DEVONO terminare con "/*".
);
/********** CONFIGURAZIONE **********/
/* Definisce il timestamp da appendere al nome del file di backup. Il formato
* è yyyymmddooss,quindi ad esempio 201002070600 indica un backup registrato
* alle 06:00 del 7 febbraio 2010 */
$timestamp = date('YmdHis',time());
{
/* Elimina il backup più vecchio SE il numero di backup ha raggiunto il
* limite impostato nella configurazione */
exec('ls ' . $backup_folder_name . '*.tar.bz2',$ls);
if(count($ls) >= $max_backups) {
sort($ls);
exec('rm ' . $ls[0]);
}
#Costruisce l'array per escludere i file definiti nella configurazione
$exclude_files[] = $backup_folder_name . '*'; #Esclude la cartella di backup
foreach($exclude_files as $item) {
$item = trim($item);
$arrExclude[] = '--exclude="' . $item . '"';
}
#Costruisce ed esegue il comando di backup
$cmd = 'tar -cjf ' . $backup_folder_name . '/backup-data-' . $timestamp . '.tar.bz2 '.$path_folder_name.' ' . implode(' ',$arrExclude);
exec($cmd);
}
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。