我在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. GIT恢復已刪除的文件夾
- 2. 恢復已刪除的Cassandra DB文件
- 3. 恢復已刪除的文件NetBeans 8.0.2?
- 4. Perforce - 恢復已刪除的文件
- 5. 如何恢復已刪除的文件
- 6. SVN恢復已刪除的文件
- 7. 解析 - 恢復已刪除的行
- 8. 恢復本地刪除的文件
- 9. 如何恢復TortoiseSVN意外刪除的已刪除文件?
- 10. 在Amazon S3中移動/修改文件/文件夾的命令行工具
- 11. 恢復刪除的文件
- 12. WP7 - 恢復被隔離的存儲工具刪除的文件
- 13. 如何在NetBeans中恢復已刪除的文件夾
- 14. 恢復已刪除的文件滯留在Linux shell進程中
- 15. 在git中恢復已刪除的歷史記錄文件
- 16. 如何在CVS中恢復已刪除的文件?
- 17. 在亞馬遜ec2中恢復已刪除的文件
- 18. Excel:如何在Excel文件中恢復已刪除的表格?
- 19. 如何在git log命令中排除已刪除的文件?
- 20. 恢復在後臺運行的已刪除腳本
- 21. bash命令/腳本刪除較舊的文件版本
- 22. 恢復已刪除的文件以便在我的工作區中使用
- 23. 使用命令行從文本文件中刪除行
- 24. 恢復PostgreSQL中已刪除的記錄
- 25. 恢復已刪除,但正在運行python腳本
- 26. 從存儲庫中恢復已刪除的文件
- 27. 從Perforce中恢復已刪除的文件
- 28. 恢復Eclipse IDE中刪除的文件
- 29. 在windows上恢復刪除的文件
- 30. 刪除重複行並覆蓋相同命令中的文件
你是對的,更好的方法是使用[由亞馬遜開發的官方工具](https:// aws.amazon.com/cli/)。無論如何,[s3cmd](https://sourceforge.net/projects/s3tools/files/s3cmd/)的開發似乎已經枯竭。 – 2016-10-10 18:50:49