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 (将#修改为@)