下面的腳本複製文件夾結構中的所有文件,然後將它們粘貼到S3存儲桶。不過,我希望它能夠跳過自上次上載以來尚未更改的文件,以避免重複上傳。有誰知道我可以如果文件存在檢查或上次修改?如何識別已經上傳到S3的本地文件,並且從那時起沒有更改過?
Import-Module "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1"
$bucket="bucketname"
$source="e:\dfs\*"
$outputpath="C:\temp\log.txt"
$AKey="xxxx"
$SKey="xxxx"
Set-AWSCredentials -AccessKey $AKey -SecretKey $SKey -StoreAs For_Move
Initialize-AWSDefaults -ProfileName For_Move -Region eu-west-1
Start-Transcript -path $outputpath -Force
foreach ($i in Get-ChildItem $source -include *.* -recurse)
{
if ($i.CreationTime -lt ($(Get-Date).AddDays(-0)))
{
$fileName = (Get-ChildItem $i).Name
$parentFolderName = Split-Path $i -Parent
Write-S3Object -BucketName $bucket -Key dfs/$parentFolderName/$filename -File $i
}
}
爲什麼不使用同步選項? http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html –
我會看看這個選項。謝謝 –
啊,我想知道爲什麼沒有「noclobber」(或類似的)參數。這解釋了它! –