我尝试使用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';
?>
我该怎么办?谢谢你的进步!