设计了一个跨站文件备份脚本 这里就不详细 - Assbbs
设计了一个跨站文件备份脚本 这里就不详细说明了,各位可以自己拿去试一下。 task.php $key=& 39;37a0096710b00604ccc08f6f2da526de& 39;; //通讯密钥 $dir=& 39;backup& 39;; //存储在哪 $web=& 39;http://127.0.0.1& 39;; //目标网址 $lag=60;…
设计了一个跨站文件备份脚本 这里就不详细说明了,各位可以自己拿去试一下。 task.php $key=& 39;37a0096710b00604ccc08f6f2da526de& 39;; //通讯密钥 $dir=& 39;backup& 39;; //存储在哪 $web=& 39;http://127.0.0.1& 39;; //目标网址 $lag=60; //下载超时 $num=3; //保留份数 function cgrab $url,$wait,$save {$c=curl init $url ;curl setopt $c,CURLOPT TIMEOUT,$wait ;curl setopt $c,CURLOPT RETURNTRANSFER,empty $save ?1:0 ;curl setopt $c,CURLOPT SSL VERIFYPEER,0 ;curl setopt $c,CURLOPT SSL VERIFYHOST,0 ;curl setopt $c,CURLOPT HEADER,0 ;curl setopt $c,CURLOPT NOBODY,0 ;if empty $save {$s=curl exec $c ;curl close $c ;return $s;}else{$f=fopen $save,& 39;w& 39; ;curl setopt $c,CURLOPT FILE,$f ;$s=curl exec $c ;curl close $c ;fclose $f ;return $s;}} if !file exists $dir.& 39;/& 39;.$key {mkdir $dir.& 39;/& 39;.$key,0777,true ;} $set=@unserialize cgrab $web.& 39;/.backup.& 39;.$key.& 39;.php& 39;,10,false ?:null ?:null; if empty $set & 39;date& 39; {die & 39;disconnected& 39; ;} if file exists $dir.& 39;/& 39;.$key.& 39;/& 39;.$set & 39;date& 39; .& 39;.tar& 39; {die & 39;completed& 39; ;} if !cgrab $web.& 39;/.backup.& 39;.$key.& 39;.tar& 39;,$lag,$dir.& 39;/& 39;.$key.& 39;/& 39;.$set & 39;date& 39; .& 39;.tar& 39; {unlink $dir.& 39;/& 39;.$key.& 39;/& 39;.$set & 39;date& 39; .& 39;.tar& 39; ;} if !empty $num {$del=glob $dir.& 39;/& 39;.$key.& 39;/ & 39; ;rsort $del ;foreach array splice $del,$num as $row {unlink $row ;}} die & 39;success& 39; ; ?> .backup.37a0096710b00604ccc08f6f2da526de.php <?php //文件权限777 $key=& 39;37a0096710b00604ccc08f6f2da526de& 39;; //通讯密钥 $dir=& 39;view& 39;; //哪个目录 $fmt=date & 39;Ymd& 39; ; //日期格式 $set=@unserialize file exists & 39;.backup.& 39;.$key.& 39;.run& 39; ?file get contents & 39;.backup.& 39;.$key.& 39;.run& 39; :null ?:null; if $set & 39;date& 39; >=$fmt {echo serialize $set ;die;} $tar=new PharData & 39;.backup.& 39;.$key.& 39;.tar& 39; ; $tar->buildFromDirectory $dir ; $set & 39;date& 39; =$fmt; file put contents & 39;.backup.& 39;.$key.& 39;.run& 39;,serialize $set ,LOCK EX ; echo serialize $set ;die; ?>