diff --git a/README.md b/README.md index 73366a1b..c76c29d7 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ [![Build Status](https://github.com/s3tools/s3cmd/actions/workflows/test.yml/badge.svg)](https://github.com/s3tools/s3cmd/actions/workflows/test.yml) -* Author: Michal Ludvig, michal@logix.cz -* [Project homepage](http://s3tools.org) -* (c) [TGRMN Software](http://www.tgrmn.com) and contributors +* Authors: Michal Ludvig (michal@logix.cz), Florent Viard (florent@sodria.com) +* [Project homepage](https://s3tools.org) +* (c) [TGRMN Software](http://www.tgrmn.com), [Sodria SAS](http://www.sodria.com) and contributors S3tools / S3cmd mailing lists: @@ -38,7 +38,7 @@ give these keys to S3cmd. Think of them as if they were a username and password At the time of this writing the costs of using S3 are (in USD): -$0.026 per GB per month of storage space used +$0.023 per GB per month of storage space used plus @@ -57,15 +57,15 @@ plus $0.005 per 1,000 PUT or COPY or LIST requests $0.004 per 10,000 GET and all other requests -If for instance on 1st of January you upload 2GB of photos in JPEG from your holiday in New Zealand, at the end of January you will be charged $0.06 for using 2GB of storage space for a month, $0.0 for uploading 2GB of data, and a few cents for requests. That comes to slightly over $0.06 for a complete backup of your precious holiday pictures. +If for instance on 1st of January you upload 2GB of photos in JPEG from your holiday in New Zealand, at the end of January you will be charged $0.05 for using 2GB of storage space for a month, $0.0 for uploading 2GB of data, and a few cents for requests. That comes to slightly over $0.06 for a complete backup of your precious holiday pictures. -In February you don't touch it. Your data are still on S3 servers so you pay $0.06 for those two gigabytes, but not a single cent will be charged for any transfer. That comes to $0.06 as an ongoing cost of your backup. Not too bad. +In February you don't touch it. Your data are still on S3 servers so you pay $0.06 for those two gigabytes, but not a single cent will be charged for any transfer. That comes to $0.05 as an ongoing cost of your backup. Not too bad. -In March you allow anonymous read access to some of your pictures and your friends download, say, 1500MB of them. As the files are owned by you, you are responsible for the costs incurred. That means at the end of March you'll be charged $0.06 for storage plus $0.045 for the download traffic generated by your friends. +In March you allow anonymous read access to some of your pictures and your friends download, say, 1500MB of them. As the files are owned by you, you are responsible for the costs incurred. That means at the end of March you'll be charged $0.05 for storage plus $0.045 for the download traffic generated by your friends. There is no minimum monthly contract or a setup fee. What you use is what you pay for. At the beginning my bill used to be like US$0.03 or even nil. -That's the pricing model of Amazon S3 in a nutshell. Check the [Amazon S3 homepage](http://aws.amazon.com/s3/pricing/) for more details. +That's the pricing model of Amazon S3 in a nutshell. Check the [Amazon S3 homepage](https://aws.amazon.com/s3/pricing/) for more details. Needless to say that all these money are charged by Amazon itself, there is obviously no payment for using S3cmd :-) @@ -128,7 +128,7 @@ Alternatively the ACL can be altered for existing remote files with `s3cmd setac 1) Register for Amazon AWS / S3 -Go to http://aws.amazon.com/s3, click the "Sign up for web service" button in the right column and work through the registration. You will have to supply your Credit Card details in order to allow Amazon charge you for S3 usage. At the end you should have your Access and Secret Keys. +Go to https://aws.amazon.com/s3, click the "Sign up for web service" button in the right column and work through the registration. You will have to supply your Credit Card details in order to allow Amazon charge you for S3 usage. At the end you should have your Access and Secret Keys. If you set up a separate IAM user, that user's access key must have at least the following permissions to do anything: - s3:ListAllMyBuckets @@ -333,11 +333,11 @@ After configuring it with `--configure` all available options are spitted into y The Transfer commands (put, get, cp, mv, and sync) continue transferring even if an object fails. If a failure occurs the failure is output to stderr and the exit status will be EX_PARTIAL (2). If the option `--stop-on-error` is specified, or the config option stop_on_error is true, the transfers stop and an appropriate error code is returned. -For more information refer to the [S3cmd / S3tools homepage](http://s3tools.org). +For more information refer to the [S3cmd / S3tools homepage](https://s3tools.org). ### License -Copyright (C) 2007-2020 TGRMN Software - http://www.tgrmn.com - and contributors +Copyright (C) 2007-2023 TGRMN Software (https://www.tgrmn.com), Sodria SAS (https://www.sodria.com/) and contributors This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/S3/ACL.py b/S3/ACL.py index f45de601..19d1d3e0 100644 --- a/S3/ACL.py +++ b/S3/ACL.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 - Access Control List representation -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, print_function diff --git a/S3/AccessLog.py b/S3/AccessLog.py index 4315db4c..e141b046 100644 --- a/S3/AccessLog.py +++ b/S3/AccessLog.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 - Access Control List representation -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, print_function diff --git a/S3/BaseUtils.py b/S3/BaseUtils.py index 68f8e736..e01b5088 100644 --- a/S3/BaseUtils.py +++ b/S3/BaseUtils.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, division diff --git a/S3/BidirMap.py b/S3/BidirMap.py index 0c1178be..56ff8e25 100644 --- a/S3/BidirMap.py +++ b/S3/BidirMap.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- class BidirMap(object): def __init__(self, **map): diff --git a/S3/CloudFront.py b/S3/CloudFront.py index 7b93b3b3..8b5e83d2 100644 --- a/S3/CloudFront.py +++ b/S3/CloudFront.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon CloudFront support -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import diff --git a/S3/Config.py b/S3/Config.py index fcf1fd0b..6568a16e 100644 --- a/S3/Config.py +++ b/S3/Config.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import diff --git a/S3/ConnMan.py b/S3/ConnMan.py index 65b2f7a0..397c3baf 100644 --- a/S3/ConnMan.py +++ b/S3/ConnMan.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import diff --git a/S3/Crypto.py b/S3/Crypto.py index 14961b40..2dda8be7 100644 --- a/S3/Crypto.py +++ b/S3/Crypto.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import diff --git a/S3/Exceptions.py b/S3/Exceptions.py index 350fce04..21fd72e8 100644 --- a/S3/Exceptions.py +++ b/S3/Exceptions.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager - Exceptions library -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import diff --git a/S3/FileDict.py b/S3/FileDict.py index de017c39..295fa85a 100644 --- a/S3/FileDict.py +++ b/S3/FileDict.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import diff --git a/S3/FileLists.py b/S3/FileLists.py index eeda969f..40d49c58 100644 --- a/S3/FileLists.py +++ b/S3/FileLists.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Create and compare lists of files/objects -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import diff --git a/S3/PkgInfo.py b/S3/PkgInfo.py index e675410c..a13c07e1 100644 --- a/S3/PkgInfo.py +++ b/S3/PkgInfo.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- package = "s3cmd" version = "2.3.0-dev" diff --git a/S3/Progress.py b/S3/Progress.py index a348a569..b99fd383 100644 --- a/S3/Progress.py +++ b/S3/Progress.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, division diff --git a/S3/S3.py b/S3/S3.py index 91de3458..ec90a775 100644 --- a/S3/S3.py +++ b/S3/S3.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, division diff --git a/S3/S3Uri.py b/S3/S3Uri.py index 10d4af58..f03101f4 100644 --- a/S3/S3Uri.py +++ b/S3/S3Uri.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, print_function diff --git a/S3/SortedDict.py b/S3/SortedDict.py index bb2d3e51..575dc8eb 100644 --- a/S3/SortedDict.py +++ b/S3/SortedDict.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, print_function diff --git a/S3/Utils.py b/S3/Utils.py index 6ca4afce..020a5b3b 100644 --- a/S3/Utils.py +++ b/S3/Utils.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3 manager -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, division diff --git a/format-manpage.pl b/format-manpage.pl index 17695f42..75889b52 100755 --- a/format-manpage.pl +++ b/format-manpage.pl @@ -74,7 +74,7 @@ .SH DESCRIPTION .PP .B s3cmd -is a command line client for copying files to/from +is a command line client for copying files to/from Amazon S3 (Simple Storage Service) and performing other related tasks, for instance creating and removing buckets, listing objects, etc. @@ -95,17 +95,17 @@ .SH OPTIONS .PP -Some of the below specified options can have their default -values set in +Some of the below specified options can have their default +values set in .B s3cmd -config file (by default \$HOME/.s3cmd). As it's a simple text file +config file (by default \$HOME/.s3cmd). As it's a simple text file feel free to open it with your favorite text editor and do any -changes you like. +changes you like. $options .SH EXAMPLES -One of the most powerful commands of \\fIs3cmd\\fR is \\fBs3cmd sync\\fR used for -synchronising complete directory trees to or from remote S3 storage. To some extent +One of the most powerful commands of \\fIs3cmd\\fR is \\fBs3cmd sync\\fR used for +synchronising complete directory trees to or from remote S3 storage. To some extent \\fBs3cmd put\\fR and \\fBs3cmd get\\fR share a similar behaviour with \\fBsync\\fR. .PP Basic usage common in backup scenarios is as simple as: @@ -113,7 +113,7 @@ s3cmd sync /local/path/ s3://test\\-bucket/backup/ .fi .PP -This command will find all files under /local/path directory and copy them +This command will find all files under /local/path directory and copy them to corresponding paths under s3://test\\-bucket/backup on the remote side. For example: .nf @@ -142,7 +142,7 @@ s3://bucket/backup/\\fBdir123/file2.bin\\fR \\-> ~/restore/\\fBdir123/file2.bin\\fR .fi .PP -Without the trailing slash on source the behaviour is similar to +Without the trailing slash on source the behaviour is similar to what has been demonstrated with upload: .nf s3cmd sync s3://test\\-bucket/backup ~/restore/ @@ -153,25 +153,25 @@ s3://bucket/\\fBbackup/dir123/file2.bin\\fR \\-> ~/restore/\\fBbackup/dir123/file2.bin\\fR .fi .PP -All source file names, the bold ones above, are matched against \\fBexclude\\fR +All source file names, the bold ones above, are matched against \\fBexclude\\fR rules and those that match are then re\\-checked against \\fBinclude\\fR rules to see whether they should be excluded or kept in the source list. .PP -For the purpose of \\fB\\-\\-exclude\\fR and \\fB\\-\\-include\\fR matching only the +For the purpose of \\fB\\-\\-exclude\\fR and \\fB\\-\\-include\\fR matching only the bold file names above are used. For instance only \\fBpath/file1.ext\\fR is tested against the patterns, not \\fI/local/\\fBpath/file1.ext\\fR .PP Both \\fB\\-\\-exclude\\fR and \\fB\\-\\-include\\fR work with shell\\-style wildcards (a.k.a. GLOB). -For a greater flexibility s3cmd provides Regular\\-expression versions of the two exclude options -named \\fB\\-\\-rexclude\\fR and \\fB\\-\\-rinclude\\fR. +For a greater flexibility s3cmd provides Regular\\-expression versions of the two exclude options +named \\fB\\-\\-rexclude\\fR and \\fB\\-\\-rinclude\\fR. The options with ...\\fB\\-from\\fR suffix (eg \\-\\-rinclude\\-from) expect a filename as an argument. Each line of such a file is treated as one pattern. .PP There is only one set of patterns built from all \\fB\\-\\-(r)exclude(\\-from)\\fR options -and similarly for include variant. Any file excluded with eg \\-\\-exclude can +and similarly for include variant. Any file excluded with eg \\-\\-exclude can be put back with a pattern found in \\-\\-rinclude\\-from list. .PP -Run s3cmd with \\fB\\-\\-dry\\-run\\fR to verify that your rules work as expected. +Run s3cmd with \\fB\\-\\-dry\\-run\\fR to verify that your rules work as expected. Use together with \\fB\\-\\-debug\\fR get detailed information about matching file names against exclude and include rules. .PP @@ -189,13 +189,13 @@ .PP .SH SEE ALSO -For the most up to date list of options run: +For the most up to date list of options run: .B s3cmd \\-\\-help .br For more info about usage, examples and other related info visit project homepage at: -.B http://s3tools.org +.B https://s3tools.org .SH AUTHOR -Written by Michal Ludvig and contributors +Written by Michal Ludvig, Florent Viard and contributors .SH CONTACT, SUPPORT Preferred way to get support is our mailing list: .br @@ -203,12 +203,12 @@ .br or visit the project homepage: .br -.B http://s3tools.org +.B https://s3tools.org .SH REPORTING BUGS -Report bugs to +Report bugs to .I s3tools\\-bugs\@lists.sourceforge.net .SH COPYRIGHT -Copyright \\(co 2007\\-2015 TGRMN Software \\- http://www.tgrmn.com \\- and contributors +Copyright \\(co 2007\\-2023 TGRMN Software (https://www.tgrmn.com), Sodria SAS (https://www.sodria.com) and contributors .br .SH LICENSE This program is free software; you can redistribute it and/or modify diff --git a/run-tests.py b/run-tests.py index 6a2c2819..10fbea52 100755 --- a/run-tests.py +++ b/run-tests.py @@ -1,11 +1,15 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +## -------------------------------------------------------------------- ## Amazon S3cmd - testsuite -## Author: Michal Ludvig -## http://www.logix.cz/michal -## License: GPL Version 2 -## Copyright: TGRMN Software and contributors +## +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors +## License : GPL Version 2 +## Website : https://s3tools.org +## -------------------------------------------------------------------- from __future__ import absolute_import, print_function @@ -833,7 +837,7 @@ def pbucket(tail): must_find = [ "Bucket '%s/': expiration configuration is set." % pbucket(1)]) ## ====== Create expiration rule with date and prefix -test_s3cmd("Create expiration rule with date and prefix", ['expire', pbucket(1), '--expiry-date=2020-12-31T00:00:00.000Z', '--expiry-prefix=log/'], +test_s3cmd("Create expiration rule with date and prefix", ['expire', pbucket(1), '--expiry-date=2030-12-31T00:00:00.000Z', '--expiry-prefix=log/'], must_find = [ "Bucket '%s/': expiration configuration is set." % pbucket(1)]) ## ====== Create expiration rule with days only @@ -841,12 +845,12 @@ def pbucket(tail): must_find = [ "Bucket '%s/': expiration configuration is set." % pbucket(1)]) ## ====== Create expiration rule with date only -test_s3cmd("Create expiration rule with date only", ['expire', pbucket(1), '--expiry-date=2020-12-31T00:00:00.000Z'], +test_s3cmd("Create expiration rule with date only", ['expire', pbucket(1), '--expiry-date=2030-12-31T00:00:00.000Z'], must_find = [ "Bucket '%s/': expiration configuration is set." % pbucket(1)]) ## ====== Get current expiration setting test_s3cmd("Get current expiration setting", ['info', pbucket(1)], - must_find_re = [ "Expiration Rule: all objects in this bucket will expire in '2020-12-31T00:00:00(?:.000)?Z'"]) + must_find_re = [ "Expiration Rule: all objects in this bucket will expire in '2030-12-31T00:00:00(?:.000)?Z'"]) ## ====== Delete expiration rule test_s3cmd("Delete expiration rule", ['expire', pbucket(1)], diff --git a/s3cmd b/s3cmd index 4b6d8f1e..8fb80d2c 100755 --- a/s3cmd +++ b/s3cmd @@ -4,10 +4,11 @@ ## -------------------------------------------------------------------- ## s3cmd - S3 client ## -## Authors : Michal Ludvig and contributors -## Copyright : TGRMN Software - http://www.tgrmn.com - and contributors -## Website : http://s3tools.org +## Authors : Michal Ludvig (https://www.logix.cz/michal) +## Florent Viard (https://www.sodria.com) +## Copyright : TGRMN Software, Sodria SAS and contributors ## License : GPL Version 2 +## Website : https://s3tools.org ## -------------------------------------------------------------------- ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff --git a/s3cmd.1 b/s3cmd.1 index 93736499..5c6478f5 100644 --- a/s3cmd.1 +++ b/s3cmd.1 @@ -12,7 +12,7 @@ s3cmd \- tool for managing Amazon S3 storage space and Amazon CloudFront content .SH DESCRIPTION .PP .B s3cmd -is a command line client for copying files to/from +is a command line client for copying files to/from Amazon S3 (Simple Storage Service) and performing other related tasks, for instance creating and removing buckets, listing objects, etc. @@ -70,10 +70,13 @@ Move object s3cmd \fBsetacl\fR \fIs3://BUCKET[/OBJECT]\fR Modify Access control list for Bucket or Files .TP -s3cmd \fBsetobjectlegalhold\fR \fISTATUS s3://BUCKET\fR +s3cmd \fBsetversioning\fR \fIs3://BUCKET enable|disable\fR +Modify Bucket Versioning +.TP +s3cmd \fBsetobjectlegalhold\fR \fISTATUS s3://BUCKET/OBJECT\fR Modify Object Legal Hold .TP -s3cmd \fBsetobjectretention\fR \fIMODE RETAIN_UNTIL_DATE s3://BUCKET\fR +s3cmd \fBsetobjectretention\fR \fIMODE RETAIN_UNTIL_DATE s3://BUCKET/OBJECT\fR Modify Object Retention .TP s3cmd \fBsetpolicy\fR \fIFILE s3://BUCKET\fR @@ -165,18 +168,21 @@ Delete CloudFront distribution point s3cmd \fBcfmodify\fR \fIcf://DIST_ID\fR Change CloudFront distribution point parameters .TP +s3cmd \fBcfinval\fR \fIs3://BUCKET/OBJECT [s3://BUCKET/OBJECT ...]\fR +Invalidate CloudFront objects +.TP s3cmd \fBcfinvalinfo\fR \fIcf://DIST_ID[/INVAL_ID]\fR Display CloudFront invalidation request(s) status .SH OPTIONS .PP -Some of the below specified options can have their default -values set in +Some of the below specified options can have their default +values set in .B s3cmd -config file (by default $HOME/.s3cmd). As it's a simple text file +config file (by default $HOME/.s3cmd). As it's a simple text file feel free to open it with your favorite text editor and do any -changes you like. +changes you like. .TP \fB\-h\fR, \fB\-\-help\fR show this help message and exit @@ -323,6 +329,10 @@ timestamps). Default for [sync] command. \fB\-\-no\-preserve\fR Don't store FS attributes .TP +\fB\-\-keep\-dirs\fR +Preserve all local directories as remote objects +including empty directories. Experimental feature. +.TP \fB\-\-exclude\fR=GLOB Filenames and paths matching GLOB will be excluded from sync @@ -489,6 +499,11 @@ Identifying one or more objects with the prefix to which the expiration rule applies. (only for [expire] command) .TP +\fB\-\-skip\-destination\-validation\fR +Skips validation of Amazon SQS, Amazon SNS, and AWS +Lambda destinations when applying notification +configuration. (only for [setnotification] command) +.TP \fB\-\-progress\fR Display progress meter (default on TTY). .TP @@ -544,7 +559,7 @@ Enable verbose output. Enable debug output. .TP \fB\-\-version\fR -Show s3cmd version (2.3.0) and exit. +Show s3cmd version (2.3.0-dev) and exit. .TP \fB\-F\fR, \fB\-\-follow\-symlinks\fR Follow symbolic links as if they are regular files @@ -589,7 +604,7 @@ second. Amount may be expressed in bytes, kilobytes with the k suffix, or megabytes with the m suffix .TP \fB\-\-no\-connection\-pooling\fR -Disable connection re\-use +Disable connection reuse .TP \fB\-\-requester\-pays\fR Set the REQUESTER PAYS flag for operations @@ -600,6 +615,10 @@ Produce long listing [ls] \fB\-\-stop\-on\-error\fR stop if error in transfer .TP +\fB\-\-max\-retries\fR=NUM +Maximum number of times to retry a failed request +before giving up. Default is 5 +.TP \fB\-\-content\-disposition\fR=CONTENT_DISPOSITION Provide a Content\-Disposition for signed URLs, e.g., "inline; filename=myvideo.mp4" @@ -610,8 +629,8 @@ Provide a Content\-Type for signed URLs, e.g., .SH EXAMPLES -One of the most powerful commands of \fIs3cmd\fR is \fBs3cmd sync\fR used for -synchronising complete directory trees to or from remote S3 storage. To some extent +One of the most powerful commands of \fIs3cmd\fR is \fBs3cmd sync\fR used for +synchronising complete directory trees to or from remote S3 storage. To some extent \fBs3cmd put\fR and \fBs3cmd get\fR share a similar behaviour with \fBsync\fR. .PP Basic usage common in backup scenarios is as simple as: @@ -619,7 +638,7 @@ Basic usage common in backup scenarios is as simple as: s3cmd sync /local/path/ s3://test\-bucket/backup/ .fi .PP -This command will find all files under /local/path directory and copy them +This command will find all files under /local/path directory and copy them to corresponding paths under s3://test\-bucket/backup on the remote side. For example: .nf @@ -648,7 +667,7 @@ that will download files: s3://bucket/backup/\fBdir123/file2.bin\fR \-> ~/restore/\fBdir123/file2.bin\fR .fi .PP -Without the trailing slash on source the behaviour is similar to +Without the trailing slash on source the behaviour is similar to what has been demonstrated with upload: .nf s3cmd sync s3://test\-bucket/backup ~/restore/ @@ -659,25 +678,25 @@ will download the files as: s3://bucket/\fBbackup/dir123/file2.bin\fR \-> ~/restore/\fBbackup/dir123/file2.bin\fR .fi .PP -All source file names, the bold ones above, are matched against \fBexclude\fR +All source file names, the bold ones above, are matched against \fBexclude\fR rules and those that match are then re\-checked against \fBinclude\fR rules to see whether they should be excluded or kept in the source list. .PP -For the purpose of \fB\-\-exclude\fR and \fB\-\-include\fR matching only the +For the purpose of \fB\-\-exclude\fR and \fB\-\-include\fR matching only the bold file names above are used. For instance only \fBpath/file1.ext\fR is tested against the patterns, not \fI/local/\fBpath/file1.ext\fR .PP Both \fB\-\-exclude\fR and \fB\-\-include\fR work with shell\-style wildcards (a.k.a. GLOB). -For a greater flexibility s3cmd provides Regular\-expression versions of the two exclude options -named \fB\-\-rexclude\fR and \fB\-\-rinclude\fR. +For a greater flexibility s3cmd provides Regular\-expression versions of the two exclude options +named \fB\-\-rexclude\fR and \fB\-\-rinclude\fR. The options with ...\fB\-from\fR suffix (eg \-\-rinclude\-from) expect a filename as an argument. Each line of such a file is treated as one pattern. .PP There is only one set of patterns built from all \fB\-\-(r)exclude(\-from)\fR options -and similarly for include variant. Any file excluded with eg \-\-exclude can +and similarly for include variant. Any file excluded with eg \-\-exclude can be put back with a pattern found in \-\-rinclude\-from list. .PP -Run s3cmd with \fB\-\-dry\-run\fR to verify that your rules work as expected. +Run s3cmd with \fB\-\-dry\-run\fR to verify that your rules work as expected. Use together with \fB\-\-debug\fR get detailed information about matching file names against exclude and include rules. .PP @@ -695,13 +714,13 @@ To exclude local directory 'somedir', be sure to use a trailing forward slash, a .PP .SH SEE ALSO -For the most up to date list of options run: +For the most up to date list of options run: .B s3cmd \-\-help .br For more info about usage, examples and other related info visit project homepage at: -.B http://s3tools.org +.B https://s3tools.org .SH AUTHOR -Written by Michal Ludvig and contributors +Written by Michal Ludvig, Florent Viard and contributors .SH CONTACT, SUPPORT Preferred way to get support is our mailing list: .br @@ -709,12 +728,12 @@ Preferred way to get support is our mailing list: .br or visit the project homepage: .br -.B http://s3tools.org +.B https://s3tools.org .SH REPORTING BUGS -Report bugs to +Report bugs to .I s3tools\-bugs@lists.sourceforge.net .SH COPYRIGHT -Copyright \(co 2007\-2015 TGRMN Software \- http://www.tgrmn.com \- and contributors +Copyright \(co 2007\-2023 TGRMN Software (https://www.tgrmn.com), Sodria SAS (https://www.sodria.com) and contributors .br .SH LICENSE This program is free software; you can redistribute it and/or modify diff --git a/setup.py b/setup.py index 0beb4417..fe8033a9 100644 --- a/setup.py +++ b/setup.py @@ -115,6 +115,8 @@ 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Topic :: System :: Archiving', 'Topic :: Utilities', ],