3
我想將文件從遠程服務器複製到本地服務器。問題是:我只想從昨天覆制文件。 遠程服務器正在寫入日誌文件,並且在23:59,日誌記錄將其壓縮到文件[name] _ [date] .log.gz。早晨6點,本地服務器上的cronjob需要複製先前從遠程服務器創建的文件。有誰知道如何做到這一點?昨天的scp文件
問候, 亞歷
我想將文件從遠程服務器複製到本地服務器。問題是:我只想從昨天覆制文件。 遠程服務器正在寫入日誌文件,並且在23:59,日誌記錄將其壓縮到文件[name] _ [date] .log.gz。早晨6點,本地服務器上的cronjob需要複製先前從遠程服務器創建的文件。有誰知道如何做到這一點?昨天的scp文件
問候, 亞歷
可以使用這樣的腳本
for i in `find /interface/outbound/Web -type f -ctime -1`
do
scp $i [email protected]$destination_server:/destination_directory/
done
特別
命令找到,例如以下特點:
find . -ctime -1 # which are created less than 1 day ago from currrent folder.
find . -ctime +2 # finds files which are created older than 2 days from currrent folder.
其中ctime
是創造時間。它也可以使用修改時間mtime
這樣:
find . -mtime 0 # find files modified between now and 1 day ago
find . -mtime -1 # find files modified less than 1 day ago
find . -mtime 1 # find files modified between 24 and 48 hours ago
find . -mtime +1 # find files modified more than 48 hours ago
更多信息man find
編輯:
已經從遠程到本地,你可以使用類似相同的行爲:
latest_file=`ssh [email protected]_server find /pathtoDir -type f -ctime -1`
/usr/bin/scp [email protected]_server:$latest_file /local_dir
echo SCP Completed.
此刻我還沒有Unix環境ronment做一些測試。
嗨,謝謝你的回答。您正在測試本地服務器上的文件。我需要在遠程服務器上查找昨天的文件。 localServer(腳本運行的地方)應該從遠程服務器獲取昨天的文件。 – AlexWerz
我編輯了我的答案。 – Oscerd
如果此解決方案適用於您,請不要忘記爲正確答案投票 – Oscerd