s3cmd обфусцирует имена файлов (меняется на случайное значение) на стороне Amazon S3 (локальное исходное имя файла)
Мой .s3cfg
с парольной фразой шифрования GPG и другими настройками безопасности. Вы бы порекомендовали другие меры безопасности?
[default]
access_key = $USERNAME
access_token =
add_encoding_exts =
add_headers =
bucket_location = eu-central-1
ca_certs_file =
cache_file =
check_ssl_certificate = True
check_ssl_hostname = True
cloudfront_host = cloudfront.amazonaws.com
default_mime_type = binary/octet-stream
delay_updates = False
delete_after = False
delete_after_fetch = False
delete_removed = False
dry_run = False
enable_multipart = True
encoding = UTF-8
encrypt = False
expiry_date =
expiry_days =
expiry_prefix =
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/local/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = $PASSPHRASE
guess_mime_type = True
host_base = s3.amazonaws.com
host_bucket = %(bucket)s.s3.amazonaws.com
human_readable_sizes = False
invalidate_default_index_on_cf = False
invalidate_default_index_root_on_cf = True
invalidate_on_cf = False
kms_key =
limitrate = 0
list_md5 = False
log_target_prefix =
long_listing = False
max_delete = -1
mime_type =
multipart_chunk_size_mb = 15
multipart_max_chunks = 10000
preserve_attrs = True
progress_meter = True
proxy_host =
proxy_port = 0
put_continue = False
recursive = False
recv_chunk = 65536
reduced_redundancy = False
requester_pays = False
restore_days = 1
secret_key = $PASSWORD
send_chunk = 65536
server_side_encryption = False
signature_v2 = False
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
stats = False
stop_on_error = False
storage_class =
urlencoding_mode = normal
use_https = True
use_mime_magic = True
verbosity = WARNING
website_endpoint = http://%(bucket)s.s3-website-%(location)s.amazonaws.com/
website_error =
website_index = index.html
Я использую эту команду для загрузки / синхронизации моей локальной папки в Amazon S3.
s3cmd -e -v put --recursive --dry-run /Users/$USERNAME/Downloads/ s3://dgtrtrtgth777
INFO: Compiling list of local files...
INFO: Running stat() and reading/calculating MD5 values on 15957 files, this may take some time...
INFO: [1000/15957]
INFO: [2000/15957]
INFO: [3000/15957]
INFO: [4000/15957]
INFO: [5000/15957]
INFO: [6000/15957]
INFO: [7000/15957]
INFO: [8000/15957]
INFO: [9000/15957]
INFO: [10000/15957]
INFO: [11000/15957]
INFO: [12000/15957]
INFO: [13000/15957]
INFO: [14000/15957]
INFO: [15000/15957]
Я протестировал шифрование с помощью Transmit GUI S3 Client и не получил текстовые файлы.
Но я вижу оригинальное имя файла. Я хочу изменить имя файла на случайное значение, но иметь локальное исходное имя файла (отображение?). Как я могу это сделать?
Каковы недостатки, если мне нужно восстановить файлы? Я использую Amazon S3 только в качестве резервной копии, в дополнение к моей резервной копии TimeMachine.
1 ответ
Если вы используете "случайные" имена, то это не синхронизация.
Если ваша единственная запись в именах файлов / сопоставлении является локальной, восстановить резервную копию в случае локального сбоя будет невозможно.
Если вам не нужны все версии ваших файлов, я бы предложил поместить все в (возможно, зашифрованный) сжатый архив перед загрузкой.
В противном случае вам придется написать небольшой скрипт, который перечисляет все файлы и по отдельности выполняет s3cmd put
указав случайный пункт назначения, где отображение добавляется в файл журнала, который должен быть первым, что вы s3cmd put
на ваш сервер. Я не рекомендую это для чего-то столь же важного, как хранение ваших резервных копий.
Скелет, показывающий, как это может работать:
# Save all files in backupX.sh where X is the version number
find /Users/$USERNAME/Downloads/ | awk '{print "s3cmd -e -v put "$0" s3://dgtrshitcrapola/"rand()*1000000}' > backupX.sh
# Upload the mapping file
s3cmd -e -v put backupX.sh s3://dgtrshitcrapola/
# Upload the actual files
sh backupX.sh
# Add cleanup code here
Однако вам нужно будет обрабатывать конфликты имен файлов, неудачные загрузки, конфликты версий,... почему бы не использовать существующий инструмент, который выполняет резервное копирование на S3?