我在S3存儲桶中啓用了版本控制,如何使用命令行S3客戶端恢復已刪除的文件,例如s3cmd?如何瀏覽不同版本的文件?到目前爲止,我已經迴歸到Freeware Cloudberry Windows Client來實現這一點。我知道我也可以使用Boto Python library,但我更喜歡一個常用的命令行工具。命令行工具在S3中恢復版本化的已刪除文件?
0
A
回答
1
使用此AWS CLI命令:(docs here):
aws s3api list-object-versions --bucket mybucket
這將返回對象的列表,如:
{
"DeleteMarkers": [
...
],
"Versions": [
{
"LastModified": "2015-11-17T12:25:01.000Z",
"VersionId": "Mj1.PcWG8e.C._7LhvFU131pXJ98abIl",
"ETag": "\"b76b2b775023e60be16bc332496f8409\"",
"StorageClass": "STANDARD",
"Key": "file1.txt",
"Owner": {
"DisplayName": "aws03005",
"ID": "b09 0e41acbdf98bc34ef4781f10e4aeebb7a495b8be78da0db884af2980ed38d"
},
"IsLatest": true,
"Size": 30318
},
...
}
使用Key
(文件名)和VersionId
下載以前版本:
aws s3api get-object --bucket mybucket --key file1.txt --version-id Mj1.PcWG8e.C._7LhvFU131pXJ98abIl foo.txt
如果您是試用版ng得到一個刪除的文件,請注意,您必須get-object
最新版本列在Versions
,不是DeleteMarkers
中列出的一個。
要在腳本中執行此操作,--query
和/或jq可能會有所幫助。
1
s3cmd 1.5.0-rc1目前對版本化文件的支持很少。我相信它可以執行完整的桶刪除,包括版本化文件,但這是對版本化文件的支持程度。
+0
我相信你是指這個拉請求https://github.com/s3tools/s3cmd/pull/345 – 2014-09-14 17:40:45
相關問題
- 1. 恢復已刪除的Cassandra DB文件
- 2. 如何恢復已刪除的文件
- 3. SVN恢復已刪除的文件
- 4. 恢復本地刪除的文件
- 5. 如何恢復TortoiseSVN意外刪除的已刪除文件?
- 6. 恢復刪除的文件
- 7. 恢復已刪除的文件滯留在Linux shell進程中
- 8. 如何在CVS中恢復已刪除的文件?
- 9. 在git中恢復已刪除的歷史記錄文件
- 10. Excel:如何在Excel文件中恢復已刪除的表格?
- 11. 在亞馬遜ec2中恢復已刪除的文件
- 12. 如何在git log命令中排除已刪除的文件?
- 13. 恢復在後臺運行的已刪除腳本
- 14. 恢復已刪除的文件以便在我的工作區中使用
- 15. 從Perforce中恢復已刪除的文件
- 16. 刪除重複行並覆蓋相同命令中的文件
- 17. 在windows上恢復刪除的文件
- 18. 尋找工具來搜索文件中的文本命令行
- 19. SVN - 僅顯示版本化的本地文件(命令行)?
- 20. MTurk命令行工具錯誤:.class文件中的版本號錯誤
- 21. 恢復已清除的文件內容
- 22. 使用Linux命令行工具恢復部分下載
- 23. 使用PHP SDK刪除亞馬遜S3中的版本化文件
- 24. 如何在Sonatype Nexus 3中恢復已刪除的組件
- 25. unix工具刪除文件中的重複行
- 26. 將從文件中刪除重複行的工具?
- 27. 恢復刪除的MySQL行?
- 28. 在TFS中獲取已刪除文件的特定版本
- 29. 化石:在一個命令中刪除缺失的文件?
- 30. 恢復已刪除的y軸
你是對的,更好的方法是使用[由亞馬遜開發的官方工具](https:// aws.amazon.com/cli/)。無論如何,[s3cmd](https://sourceforge.net/projects/s3tools/files/s3cmd/)的開發似乎已經枯竭。 – 2016-10-10 18:50:49