2011-09-07 27 views
15

~ 2TB - S3 yedek dosyalarını göndermem gerekiyor. Ben en sorunsuz seçenek Linux scp komutu olurdu (s3cmd ile difficulty var ve overkill java/RoR bunu yapmak istemiyorum).Amazon s3'e ne dersin?

Ancak bunun mümkün olup olmadığından emin değilim: S3'ün özel ve genel anahtarlarının scp ile nasıl kullanılacağı ve hedef IP/url/yolun ne olacağını bilmiyorum?

İpuçlarını takdir ediyorum.

+0

p.s. S3cmd'nin en son sürümüne geçtikten ve --private-ack'in komut komutundan kaldırılmasından sonra s3cmd ile olan sorunum çözülüyor gibi görünüyor. – qliq

cevap

6

SCP yapamazsınız.

En hızlı yol, eğer para harcamaya aldırış etmemeniz halinde, muhtemelen sadece bir disk üzerinde onlara göndermek ve onlar sizin için oraya koyacağız. Import/Export hizmetlerine bakın. Bizim AWS yedeklemeler için

+0

Teşekkürler, ama bu over-overkill :) – qliq

+0

İki TB'niz var, çok hızlı ağlarda bile biraz zaman alacak :) SCP yapamazsınız çünkü EC2 gibi değil, SSH çalıştıran bir makine yok SCP için sunucu. API'larını kullanarak yükleyebilir, http://stackoverflow.com/questions/667478/how-do-i-bulk-upload-to-s3 adresindeki bilgileri deneyebilirsiniz. –

+1

'Amazon S3 Yedekleme Araçları'nın bir listesi' Amazon'u ödemekten kaçınmanıza yardımcı olabilir: http://jeremy.zawodny.com/blog/archives/007641.html – qliq

-3

biz Nifak bir arada kullanmak ve rsync ve şifreleme için ikiyüzlülük damlama ve yükleme hızını

4

Neden bir EBS hacmine scp'yi yok ve daha sonra oradan s3cmd kullanmak sınırlamak için damlama? EBS biriminiz ve s3 paketiniz aynı bölgede olduğu sürece, yalnızca gelen veri ücretleri için bir kez (ağınızdan EBS birimine) ücretlendirilirsiniz.

S3 ağında bir kez olduğunu öğrendim, s3cmd çok daha güvenilirdir ve veri aktarım hızı s3'ten direkt olarak çok daha yüksektir.

+0

dürüst olmak gerekirse bu aşırı. – qliq

9

İşte bunun için sadece boto-rsync. Herhangi bir Linux kutusundan, boto-rsync yüklemek ve ardından /yerel/yol/için your_bucket/uzaktan/yol/ aktarmak için kullanırız

boto-rsync -a your_access_key -s your_secret_key /local/path/ s3://your_bucket/remote/path/ 

yolları da olabilir dosyaları. AWS dışında bir S3 uyumlu sağlayıcısı için

, --endpoint kullanın:

2015 tarihi itibariyle
boto-rsync -a your_access_key -s your_secret_key --endpoint some.provider.com /local/path/ s3://your_bucket/remote/path/ 
+3

bu boto-rsync şey, cazibe gibi çalışır –

+0

çalışır, teşekkür ederim! –

26

, SCP/SSH desteklenmez (ve muhtemelen diğer cevaplar belirtilen nedenlerden dolayı asla olmayacak). S3/dosyaları kopyalamak için

Resmi AWS araçları:

  1. command line tool (pip3 install awscli - not kimlik belirtilmesi gerekir, ben ortam değişkenleri yoluyla tercih: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY).

    aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "*" --include "*.jpg" 
    
  2. http://docs.aws.amazon.com/cli/latest/reference/s3/index.html

Sigara AWS yöntemler

Başka bir çözüm, üçüncü taraf yürütülebilir bağlıdır (örneğin botosync, jungledisk ...) desteklendiği sürece harika olabilir. Ancak üçüncü parti araçları yıllar geçtikçe geçiyor ve senaryolarınız daha kısa bir raf ömrüne sahip olacak.


DÜZENLEME: Aslında, AWS CLI botocore dayanmaktadır: Belki verdi daha yaşlı devlet adamı olarak biraz daha saygıyı hak Yani botosync

https://github.com/boto/botocore

.

+0

Bir sunucuya ssh için bir yol olup olmadığını merak ediyorum, daha sonra ham dosya sistemini (AWS S3'ün kasten soyutladığı gibi) ortaya çıkaran geleneksel bir kabuk yerine bir AWS kabuğunu kullanın. –

1

Dragon Disk adında harika bir araç var. Düz bir scp olarak değil, eşitleme aracı olarak da çalışır.

http://www.s3-client.com/

Kılavuzu kurulum için amazon s3 here sağlanır ve onu kurduktan sonra ya s3 veya kurulum otomatik senkronizasyon için yerel makineden dosyaları yapıştırın kopyalayabilirsiniz. Kullanıcı Arabirimi, WinSCP veya Filezilla'ya çok benzer.