PHP shell执行与排除


PHP SHELL EXEC WITH EXCLUDE

这是我当前的PHP脚本,它工作得很好,除了它备份了我想要排除图像目录的所有内容。

<?php
function backup()
 {
  shell_exec("tar -cvf backup`date +%Y%m%d`.tar.gz /home/USERNAME/public_html/WEBSITE.com.au* ");
}
backup();
?>

这就是我想做的…

<?php
 function backup()
 {
  shell_exec("tar --exclude /home/USERNAME/public_html/WEBSITE.com.au/images/* -cvf backup`date +%Y%m%d`.tar.gz /home/USERNAME/public_html/WEBSITE.com.au/");
 }
 backup();
 ?>

我无法使排除函数工作。有什么办法做到这一点吗?

我怀疑您只是想从该路径的末尾删除*,因为它扩展为多个参数,并且只有第一个参数跟随--exclude。你还需要去掉尾斜杠,因为…我不知道。tar是挑剔的

也就是说,从PHP中执行此操作似乎是一个非常糟糕的主意。任何发现这个端点的人都可以很容易地通过多次攻击来增加您的CPU使用率,甚至通过并行攻击来破坏您的备份。