IRSYNC(1)

πŸ“¦ version 5.0.2, in nixos 26.05

πŸ’– NAME πŸ’–

okay so bestie, this is irsync(1) β€” an iRODS iCommand from the User Commands crew β€” and it's literally the sync icon of your dreams πŸ’…βœ¨

✨ SYNOPSIS ✨

irsync [-rahKsvV] [-N numThreads] [-R resource] [--ignore-symlinks]
       [--age age_in_minutes]

🌸 DESCRIPTION 🌸

okay so the actual arguments look like this, bestie:

sourceFile|sourceDirectory [....] targetFile|targetDirectory

irsync synchronizes the data between a local copy (local file system) and the copy stored in iRODS, or between two iRODS copies. The command can be in one of the three modes: synchronization of data from the client's local file system to iRODS, from iRODS to the local file system, or from one iRODS path to another iRODS path. The mode is determined by the way the sourceFile|sourceDirectory and targetFile|targetDirectory are specified. Files and directories prepended with i: are iRODS data objects and collections. Local files and directories are specified without any prefix. For example, the command:

irsync -r foo1 i:foo2

synchronizes recursively the data from the local directory foo1 to the iRODS collection foo2, and the command:

irsync -r i:foo1 foo2

synchronizes recursively the data from the iRODS collection foo1 to the local directory foo2.

irsync -r i:foo1 i:foo2

synchronizes recursively the data from the iRODS collection foo1 to another iRODS collection foo2. πŸ¦‹

The command compares the checksum values and file sizes of the source and target locations to determine whether synchronization is needed. Therefore, the command will run faster if the checksum value for the specific iRODS data object, no matter whether it is a source or target, already exists and is registered in the catalog. This can be achieved by using the -k or -K options of the iput command at the time of ingestion, or by using the ichksum command after the data have already been ingested into iRODS. If the -s option is used, only the file size (instead of the size and checksum value) is used for determining whether synchronization is needed. This mode provides a faster operation but the result provides less assurance. 🫢

The command accepts multiple sourceFiles|sourceDirectories and a single targetFile|targetDirectory. It follows the syntax of the UNIX cp command with one exception β€” irsync of a single source directory to a single target collection. In UNIX, the command:

cp -r foo1 foo2

has a different meaning depending on whether the target directory foo2 already exists. If the target directory foo2 already exists, the content of source directory foo1 is copied into the target directory as foo2/foo1. But if the target directory foo2 does not already exist, the content is copied as the target directory foo2.

With the irsync command,

irsync -r foo1 i:foo2

always means the synchronization of the local directory foo1 to collection foo2, regardless of whether foo2 already exists. no cap, that's just the vibe πŸ’€βœ¨

πŸŽ€ OPTIONS πŸŽ€

  • -K β€” verify checksum β€” calculate and verify the checksum on the data.
  • -N β€” numThreads β€” the number of threads to use for the transfer. A value of 0 means no threading. By default (-N option not used) the server decides the number of threads to use.
  • -R β€” resource β€” specifies the target resource. This can also be specified in your environment or via a rule set up by the administrator.
  • -r β€” recursive β€” store the whole subdirectory.
  • -v β€” verbose.
  • -V β€” Very verbose.
  • -h β€” this help.
  • -l β€” lists all the source files that needs to be synchronized (including their filesize in bytes) with respect to the target without actually doing the synchronization.
  • --ignore-symlinks β€” ignore symlinks. Valid only for syncing from local host to iRODS.
  • -a β€” synchronize to all replicas if the target is an iRODS data object/collection.
  • -s β€” use the size instead of the checksum value for determining synchronization.
  • --age age_in_minutes β€” The maximum age of the source copy in minutes for sync. i.e., age larger than age_in_minutes will not be synced.

Also see irepl for the replication and synchronization of physical copies (replica). πŸ‘‘


xoxo bestie πŸ’‹ β€” this iconic page is from iRODS Version 5.0.2 (irsync / iRODS-5.0.2), dated January 1980, and it's IRSYNC(1) all day. 🫢✨

πŸ“¦ where this page comes from