我想創建一個bash腳本或PHP腳本從ftp服務器下載CSV文件並在downloadind文件後添加* .bak擴展名。我將每10分鐘通過cron作業自動執行。bash腳本從ftp服務器獲取文件並在下載後重命名文件
我開始:
#!/bin/bash
HOST=XXX.YYY.ZZZ.OOO
USERFTP=user
PASSWORD=xxx
PORT=2222
cd /home/sysadmin/testftp
ftp -inv $HOST 2222 <<EOF
quote USER $USERFTP
quote PASS $PASSWORD
cd /home/ftp/
,我需要包括thise「for」循環
for f in $(ls) do
if [ $(echo $f|egrep '\.(csv|CSV)$') ]
then
mget $f
mv $f $f.bak
fi
done`
我不知道如何納入循環到bash腳本或者如果它是更容易地創建一個PHP腳本?
<?php
$local_file = 'local.zip';
$server_file = 'server.zip';
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "Le fichier $local_file a été écris avec succès\n";
} else {
echo "error\n";
}
ftp_close($conn_id);
?>
如何將for循環包含到php腳本中?
問候:-)
您是否希望推薦是否更喜歡一種方法? –
scp或rsync可能會更簡單,然後ftping,如果你選擇ftp你想要在php或bash中都做不到這兩個。 –
可以在協處理器中運行ftp併發送命令並閱讀其響應。但CurlFtpFs可能是更好的解決方案 – Jasen