mirror of
https://github.com/rclone/rclone.git
synced 2024-11-25 01:44:41 +01:00
Update docs - fixes #32
This commit is contained in:
parent
24a6ff54c2
commit
a5974999eb
28
README.md
28
README.md
@ -82,21 +82,26 @@ MD5SUM. Doesn't delete files from the destination.
|
|||||||
|
|
||||||
Sync the source to the destination. Doesn't transfer
|
Sync the source to the destination. Doesn't transfer
|
||||||
unchanged files, testing first by modification time then by
|
unchanged files, testing first by modification time then by
|
||||||
MD5SUM. Deletes any files that exist in source that don't
|
size. Deletes any files that exist in source that don't
|
||||||
exist in destination. Since this can cause data loss, test
|
exist in destination. Since this can cause data loss, test
|
||||||
first with the `--dry-run` flag.
|
first with the `--dry-run` flag.
|
||||||
|
|
||||||
rclone ls [remote:path]
|
rclone ls [remote:path]
|
||||||
|
|
||||||
List all the objects in the the path with sizes.
|
List all the objects in the the path with size and path.
|
||||||
|
|
||||||
rclone lsl [remote:path]
|
|
||||||
|
|
||||||
List all the objects in the the path with sizes and timestamps.
|
|
||||||
|
|
||||||
rclone lsd [remote:path]
|
rclone lsd [remote:path]
|
||||||
|
|
||||||
List all directories/objects/buckets in the the path.
|
List all directories/containers/buckets in the the path.
|
||||||
|
|
||||||
|
rclone lsl [remote:path]
|
||||||
|
|
||||||
|
List all the objects in the the path with modification time, size and path.
|
||||||
|
|
||||||
|
rclone md5sum [remote:path]
|
||||||
|
|
||||||
|
Produces an md5sum file for all the objects in the path. This
|
||||||
|
is in the same format as the standard md5sum tool produces.
|
||||||
|
|
||||||
rclone mkdir remote:path
|
rclone mkdir remote:path
|
||||||
|
|
||||||
@ -117,10 +122,13 @@ Checks the files in the source and destination match. It
|
|||||||
compares sizes and MD5SUMs and prints a report of files which
|
compares sizes and MD5SUMs and prints a report of files which
|
||||||
don't match. It doesn't alter the source or destination.
|
don't match. It doesn't alter the source or destination.
|
||||||
|
|
||||||
rclone md5sum remote:path
|
rclone config
|
||||||
|
|
||||||
Produces an md5sum file for all the objects in the path. This is in
|
Enter an interactive configuration session.
|
||||||
the same format as the standard md5sum tool produces.
|
|
||||||
|
rclone help
|
||||||
|
|
||||||
|
This help.
|
||||||
|
|
||||||
General options:
|
General options:
|
||||||
|
|
||||||
|
@ -65,21 +65,26 @@ MD5SUM. Doesn't delete files from the destination.
|
|||||||
|
|
||||||
Sync the source to the destination. Doesn't transfer
|
Sync the source to the destination. Doesn't transfer
|
||||||
unchanged files, testing first by modification time then by
|
unchanged files, testing first by modification time then by
|
||||||
MD5SUM. Deletes any files that exist in source that don't
|
size. Deletes any files that exist in source that don't
|
||||||
exist in destination. Since this can cause data loss, test
|
exist in destination. Since this can cause data loss, test
|
||||||
first with the -dry-run flag.
|
first with the `--dry-run` flag.
|
||||||
|
|
||||||
rclone ls [remote:path]
|
rclone ls [remote:path]
|
||||||
|
|
||||||
List all the objects in the the path with sizes.
|
List all the objects in the the path with size and path.
|
||||||
|
|
||||||
rclone lsl [remote:path]
|
|
||||||
|
|
||||||
List all the objects in the the path with sizes and timestamps.
|
|
||||||
|
|
||||||
rclone lsd [remote:path]
|
rclone lsd [remote:path]
|
||||||
|
|
||||||
List all directories/objects/buckets in the the path.
|
List all directories/containers/buckets in the the path.
|
||||||
|
|
||||||
|
rclone lsl [remote:path]
|
||||||
|
|
||||||
|
List all the objects in the the path with modification time, size and path.
|
||||||
|
|
||||||
|
rclone md5sum [remote:path]
|
||||||
|
|
||||||
|
Produces an md5sum file for all the objects in the path. This
|
||||||
|
is in the same format as the standard md5sum tool produces.
|
||||||
|
|
||||||
rclone mkdir remote:path
|
rclone mkdir remote:path
|
||||||
|
|
||||||
@ -100,11 +105,13 @@ Checks the files in the source and destination match. It
|
|||||||
compares sizes and MD5SUMs and prints a report of files which
|
compares sizes and MD5SUMs and prints a report of files which
|
||||||
don't match. It doesn't alter the source or destination.
|
don't match. It doesn't alter the source or destination.
|
||||||
|
|
||||||
rclone md5sum remote:path
|
rclone config
|
||||||
|
|
||||||
Produces an md5sum file for all the objects in the path. This is in
|
Enter an interactive configuration session.
|
||||||
the same format as the standard md5sum tool produces.
|
|
||||||
General options:
|
rclone help
|
||||||
|
|
||||||
|
This help.
|
||||||
|
|
||||||
```
|
```
|
||||||
--bwlimit=0: Bandwidth limit in kBytes/s, or use suffix K|M|G
|
--bwlimit=0: Bandwidth limit in kBytes/s, or use suffix K|M|G
|
||||||
|
22
notes.txt
22
notes.txt
@ -19,30 +19,23 @@ Todo
|
|||||||
* if object.PseudoDirectory {
|
* if object.PseudoDirectory {
|
||||||
* fmt.Printf("%9s %19s %s\n", "Directory", "-", fs.Remote())
|
* fmt.Printf("%9s %19s %s\n", "Directory", "-", fs.Remote())
|
||||||
* Make Account wrapper
|
* Make Account wrapper
|
||||||
* limit bandwidth for a pool of all individual connectinos
|
|
||||||
* do timeouts by setting a limit, seeing whether io has happened
|
|
||||||
and resetting it if it has
|
|
||||||
* make Account do progress meter
|
* make Account do progress meter
|
||||||
* Make logging controllable with flags (mostly done)
|
|
||||||
* -timeout: Make all timeouts be settable with command line parameters
|
* -timeout: Make all timeouts be settable with command line parameters
|
||||||
* Windows paths? Do we need to translate / and \?
|
|
||||||
* Make a fs.Errorf and count errors and log them at a different level
|
|
||||||
* Add max object size to fs metadata - 5GB for swift, infinite for local, ? for s3
|
* Add max object size to fs metadata - 5GB for swift, infinite for local, ? for s3
|
||||||
* tie into -max-size flag
|
* tie into -max-size flag
|
||||||
* FIXME Make NewFs to return err.IsAnObject so can put the LimitedFs
|
* FIXME Make NewFs to return err.IsAnObject so can put the LimitedFs
|
||||||
creation in common code? Or try for as much as possible?
|
creation in common code? Or try for as much as possible?
|
||||||
* FIXME Account all the transactons (ls etc) using a different
|
* FIXME Account all the transactons (ls etc) using a different
|
||||||
Roundtripper wrapper which wraps the transactions?
|
Roundtripper wrapper which wraps the transactions?
|
||||||
* FIXME write tests for local file system
|
|
||||||
* FIXME implement tests for single file operations in rclonetest
|
|
||||||
* Need to make directory objects otherwise can't upload an empty directory
|
|
||||||
* Or could upload empty directories only?
|
|
||||||
|
|
||||||
More rsync features
|
More rsync features
|
||||||
* include
|
* include
|
||||||
* exclude
|
* exclude
|
||||||
* max size
|
* max size
|
||||||
* bandwidth limit
|
* -c, --checksum skip based on checksum, not mod-time & size
|
||||||
|
|
||||||
|
Ideas for flags
|
||||||
|
* --retries N flag which would make rclone retry a sync until successful or it tried N times.
|
||||||
|
|
||||||
Ideas
|
Ideas
|
||||||
* could do encryption - put IV into metadata?
|
* could do encryption - put IV into metadata?
|
||||||
@ -55,13 +48,6 @@ Ideas
|
|||||||
* control times sync (which is slow with some remotes) with -a --archive flag?
|
* control times sync (which is slow with some remotes) with -a --archive flag?
|
||||||
* Copy a glob pattern - could do with LimitedFs
|
* Copy a glob pattern - could do with LimitedFs
|
||||||
|
|
||||||
s3
|
|
||||||
* Can maybe set last modified?
|
|
||||||
* https://forums.aws.amazon.com/message.jspa?messageID=214062
|
|
||||||
* Otherwise can set metadata
|
|
||||||
* Returns etag and last modified in bucket list
|
|
||||||
|
|
||||||
Bugs
|
Bugs
|
||||||
* Non verbose - not sure number transferred got counted up? CHECK
|
* Non verbose - not sure number transferred got counted up? CHECK
|
||||||
* When doing copy it recurses the whole of the destination FS which isn't necessary
|
* When doing copy it recurses the whole of the destination FS which isn't necessary
|
||||||
|
|
||||||
|
27
rclone.go
27
rclone.go
@ -59,11 +59,11 @@ func (cmd *Command) checkArgs(args []string) {
|
|||||||
var Commands = []Command{
|
var Commands = []Command{
|
||||||
{
|
{
|
||||||
Name: "copy",
|
Name: "copy",
|
||||||
ArgsHelp: "source://path dest://path",
|
ArgsHelp: "source:path dest:path",
|
||||||
Help: `
|
Help: `
|
||||||
Copy the source to the destination. Doesn't transfer
|
Copy the source to the destination. Doesn't transfer
|
||||||
unchanged files, testing first by modification time then by
|
unchanged files, testing first by modification time then by
|
||||||
MD5SUM. Doesn't delete files from the destination.`,
|
size. Doesn't delete files from the destination.`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
err := fs.Sync(fdst, fsrc, false)
|
err := fs.Sync(fdst, fsrc, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -75,11 +75,11 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "sync",
|
Name: "sync",
|
||||||
ArgsHelp: "source://path dest://path",
|
ArgsHelp: "source:path dest:path",
|
||||||
Help: `
|
Help: `
|
||||||
Sync the source to the destination. Doesn't transfer
|
Sync the source to the destination. Doesn't transfer
|
||||||
unchanged files, testing first by modification time then by
|
unchanged files, testing first by modification time then by
|
||||||
MD5SUM. Deletes any files that exist in source that don't
|
size. Deletes any files that exist in source that don't
|
||||||
exist in destination. Since this can cause data loss, test
|
exist in destination. Since this can cause data loss, test
|
||||||
first with the --dry-run flag.`,
|
first with the --dry-run flag.`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
@ -93,7 +93,7 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "ls",
|
Name: "ls",
|
||||||
ArgsHelp: "[remote://path]",
|
ArgsHelp: "[remote:path]",
|
||||||
Help: `
|
Help: `
|
||||||
List all the objects in the the path with size and path.`,
|
List all the objects in the the path with size and path.`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
@ -107,7 +107,7 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "lsd",
|
Name: "lsd",
|
||||||
ArgsHelp: "[remote://path]",
|
ArgsHelp: "[remote:path]",
|
||||||
Help: `
|
Help: `
|
||||||
List all directories/containers/buckets in the the path.`,
|
List all directories/containers/buckets in the the path.`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
@ -121,7 +121,7 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "lsl",
|
Name: "lsl",
|
||||||
ArgsHelp: "[remote://path]",
|
ArgsHelp: "[remote:path]",
|
||||||
Help: `
|
Help: `
|
||||||
List all the objects in the the path with modification time, size and path.`,
|
List all the objects in the the path with modification time, size and path.`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
@ -135,9 +135,10 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "md5sum",
|
Name: "md5sum",
|
||||||
ArgsHelp: "[remote://path]",
|
ArgsHelp: "[remote:path]",
|
||||||
Help: `
|
Help: `
|
||||||
Produces an md5sum file for all the objects in the path.`,
|
Produces an md5sum file for all the objects in the path. This
|
||||||
|
is in the same format as the standard md5sum tool produces.`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
err := fs.Md5sum(fdst, os.Stdout)
|
err := fs.Md5sum(fdst, os.Stdout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -149,7 +150,7 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "mkdir",
|
Name: "mkdir",
|
||||||
ArgsHelp: "remote://path",
|
ArgsHelp: "remote:path",
|
||||||
Help: `
|
Help: `
|
||||||
Make the path if it doesn't already exist`,
|
Make the path if it doesn't already exist`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
@ -163,7 +164,7 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "rmdir",
|
Name: "rmdir",
|
||||||
ArgsHelp: "remote://path",
|
ArgsHelp: "remote:path",
|
||||||
Help: `
|
Help: `
|
||||||
Remove the path. Note that you can't remove a path with
|
Remove the path. Note that you can't remove a path with
|
||||||
objects in it, use purge for that.`,
|
objects in it, use purge for that.`,
|
||||||
@ -178,7 +179,7 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "purge",
|
Name: "purge",
|
||||||
ArgsHelp: "remote://path",
|
ArgsHelp: "remote:path",
|
||||||
Help: `
|
Help: `
|
||||||
Remove the path and all of its contents.`,
|
Remove the path and all of its contents.`,
|
||||||
Run: func(fdst, fsrc fs.Fs) {
|
Run: func(fdst, fsrc fs.Fs) {
|
||||||
@ -192,7 +193,7 @@ var Commands = []Command{
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "check",
|
Name: "check",
|
||||||
ArgsHelp: "source://path dest://path",
|
ArgsHelp: "source:path dest:path",
|
||||||
Help: `
|
Help: `
|
||||||
Checks the files in the source and destination match. It
|
Checks the files in the source and destination match. It
|
||||||
compares sizes and MD5SUMs and prints a report of files which
|
compares sizes and MD5SUMs and prints a report of files which
|
||||||
|
Loading…
Reference in New Issue
Block a user