如何使用php解压缩远程文件上的tar文件

时间:2018-04-06 05:22:16

标签: php linux bash shell

我尝试使用php成功解压缩远程文件上的.tar文件:

<?php 
$server   = "host"; 
$username = "usr"; 
$password = "pass"; 
$command = "tar -xvf 
/tmp/test/OK_MemExpFile_UPA_519_99_1_2509_20180403135101.tar";
$connection = ssh2_connect($server, 22);
ssh2_auth_password($connection, $username, $password);
$stream = ssh2_exec($connection, $command);
stream_set_blocking($stream, false);
?>

问题是我要解压缩多个tar文件。 id尝试使用运行bash脚本与PHP但tar -xvf不起作用。这是我的bash脚本:

#!/usr/bin/bash
vardate=$(date +"%Y%m%d%H%M%S")
base_path='/tmp/test'
echo "Start proccess merge file DSP!";
cd ${base_path}
cat ${base_path}/*.tar | tar -xvf - -i
rm -rf *.tar
ls -ltr *.csv | awk '{print $9}'| while read i; do sed -i '1,5d' $i; done
cat *.csv > dsp_baselinedaily_${vardate}.csv
rm -rf MemExpFile*.csv
mv dsp_baselinedaily*.csv ${base_path}/dsp_raw/
echo "Finished Merge File to dsp_baselinedaily_${vardate}.csv !"

我用php执行它:

<?php
$server   = "host"; 
$username = "usr"; 
$password = "pass"; 
$command  = "/usr/bin/bash /tmp/test/mergedspfile.sh";
$connection = ssh2_connect($server, 22);
ssh2_auth_password($connection, $username, $password);
$stream = ssh2_exec($connection, $command);
stream_set_blocking($stream, false);
echo "Mergefile Process already finished !" . '\n';
?>

我该怎么办?谢谢你的进步!

0 个答案:

没有答案