staging.inyokaproject.org

rsync Bedienung

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1269

die "Minus"-Optionen beim Aufruf von Befehlen bestehen allesamt aus nur einem Buchstaben, und die kann man in der Regel zusammenfassen. Das ist ein Bequemlichkeits-Feature.

Die "Minusminus"-Optionen sind die "eigentlichen" Formen. Die kann man nicht zusammenfassen. Bei manchen kann man noch nähere Angaben machen, aber das hängt immer vom jeweiligen Befehl ab, nachzulesen in der jeweiligen manpage (im Terminal eingeben: "man <Befehlsname>").

juribel

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1269

@von.wert: Zeit für mich, die Artikel auch mal zu lesen. Bin halt ein unverbesserlicher Kommandozeilenfreund ☺

Rassmus

(Themenstarter)

Anmeldungsdatum:
9. November 2009

Beiträge: 113

juribel Ich kapier leider immer noch nicht wie das gemeint ist:

Wie gesagt: In dem Skript Quelle und Ziel eintragen und gut is.

Wo soll ich das denn eintragen, ich hab vo rsync noch nichts gesehen wo ich etwas eintragen könnte. Alles was ich tun kann ist im Terminal rsync eingeben:

thomas@thomas-HP-255-G8:~$ rsync
rsync  version 3.2.3  protocol version 31
Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, hardlink-specials, symlinks, IPv6, atimes,
    batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv,
    symtimes, prealloc, stop-at, no crtimes
Optimizations:
    SIMD, no asm, openssl-crypto
Checksum list:
    xxh128 xxh3 xxh64 (xxhash) md5 md4 none
Compress list:
    zstd lz4 zlibx zlib none

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

rsync is a file transfer program capable of efficient remote update
via a fast differencing algorithm.

Usage: rsync [OPTION]... SRC [SRC]... DEST
  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
  or   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
  or   rsync [OPTION]... [USER@]HOST:SRC [DEST]
  or   rsync [OPTION]... [USER@]HOST::SRC [DEST]
  or   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
The ':' usages connect via remote shell, while '::' & 'rsync://' usages connect
to an rsync daemon, and require SRC or DEST to start with a module name.

Options
--verbose, -v            increase verbosity
--info=FLAGS             fine-grained informational verbosity
--debug=FLAGS            fine-grained debug verbosity
--stderr=e|a|c           change stderr output mode (default: errors)
--quiet, -q              suppress non-error messages
--no-motd                suppress daemon-mode MOTD
--checksum, -c           skip based on checksum, not mod-time & size
--archive, -a            archive mode is -rlptgoD (no -A,-X,-U,-N,-H)
--no-OPTION              turn off an implied OPTION (e.g. --no-D)
--recursive, -r          recurse into directories
--relative, -R           use relative path names
--no-implied-dirs        don't send implied dirs with --relative
--backup, -b             make backups (see --suffix & --backup-dir)
--backup-dir=DIR         make backups into hierarchy based in DIR
--suffix=SUFFIX          backup suffix (default ~ w/o --backup-dir)
--update, -u             skip files that are newer on the receiver
--inplace                update destination files in-place
--append                 append data onto shorter files
--append-verify          --append w/old data in file checksum
--dirs, -d               transfer directories without recursing
--mkpath                 create the destination's path component
--links, -l              copy symlinks as symlinks
--copy-links, -L         transform symlink into referent file/dir
--copy-unsafe-links      only "unsafe" symlinks are transformed
--safe-links             ignore symlinks that point outside the tree
--munge-links            munge symlinks to make them safe & unusable
--copy-dirlinks, -k      transform symlink to dir into referent dir
--keep-dirlinks, -K      treat symlinked dir on receiver as dir
--hard-links, -H         preserve hard links
--perms, -p              preserve permissions
--executability, -E      preserve executability
--chmod=CHMOD            affect file and/or directory permissions
--acls, -A               preserve ACLs (implies --perms)
--xattrs, -X             preserve extended attributes
--owner, -o              preserve owner (super-user only)
--group, -g              preserve group
--devices                preserve device files (super-user only)
--copy-devices           copy device contents as regular file
--specials               preserve special files
-D                       same as --devices --specials
--times, -t              preserve modification times
--atimes, -U             preserve access (use) times
--open-noatime           avoid changing the atime on opened files
--crtimes, -N            preserve create times (newness)
--omit-dir-times, -O     omit directories from --times
--omit-link-times, -J    omit symlinks from --times
--super                  receiver attempts super-user activities
--fake-super             store/recover privileged attrs using xattrs
--sparse, -S             turn sequences of nulls into sparse blocks
--preallocate            allocate dest files before writing them
--write-devices          write to devices as files (implies --inplace)
--dry-run, -n            perform a trial run with no changes made
--whole-file, -W         copy files whole (w/o delta-xfer algorithm)
--checksum-choice=STR    choose the checksum algorithm (aka --cc)
--one-file-system, -x    don't cross filesystem boundaries
--block-size=SIZE, -B    force a fixed checksum block-size
--rsh=COMMAND, -e        specify the remote shell to use
--rsync-path=PROGRAM     specify the rsync to run on remote machine
--existing               skip creating new files on receiver
--ignore-existing        skip updating files that exist on receiver
--remove-source-files    sender removes synchronized files (non-dir)
--del                    an alias for --delete-during
--delete                 delete extraneous files from dest dirs
--delete-before          receiver deletes before xfer, not during
--delete-during          receiver deletes during the transfer
--delete-delay           find deletions during, delete after
--delete-after           receiver deletes after transfer, not during
--delete-excluded        also delete excluded files from dest dirs
--ignore-missing-args    ignore missing source args without error
--delete-missing-args    delete missing source args from destination
--ignore-errors          delete even if there are I/O errors
--force                  force deletion of dirs even if not empty
--max-delete=NUM         don't delete more than NUM files
--max-size=SIZE          don't transfer any file larger than SIZE
--min-size=SIZE          don't transfer any file smaller than SIZE
--max-alloc=SIZE         change a limit relating to memory alloc
--partial                keep partially transferred files
--partial-dir=DIR        put a partially transferred file into DIR
--delay-updates          put all updated files into place at end
--prune-empty-dirs, -m   prune empty directory chains from file-list
--numeric-ids            don't map uid/gid values by user/group name
--usermap=STRING         custom username mapping
--groupmap=STRING        custom groupname mapping
--chown=USER:GROUP       simple username/groupname mapping
--timeout=SECONDS        set I/O timeout in seconds
--contimeout=SECONDS     set daemon connection timeout in seconds
--ignore-times, -I       don't skip files that match size and time
--size-only              skip files that match in size
--modify-window=NUM, -@  set the accuracy for mod-time comparisons
--temp-dir=DIR, -T       create temporary files in directory DIR
--fuzzy, -y              find similar file for basis if no dest file
--compare-dest=DIR       also compare destination files relative to DIR
--copy-dest=DIR          ... and include copies of unchanged files
--link-dest=DIR          hardlink to files in DIR when unchanged
--compress, -z           compress file data during the transfer
--compress-choice=STR    choose the compression algorithm (aka --zc)
--compress-level=NUM     explicitly set compression level (aka --zl)
--skip-compress=LIST     skip compressing files with suffix in LIST
--cvs-exclude, -C        auto-ignore files in the same way CVS does
--filter=RULE, -f        add a file-filtering RULE
-F                       same as --filter='dir-merge /.rsync-filter'
                         repeated: --filter='- .rsync-filter'
--exclude=PATTERN        exclude files matching PATTERN
--exclude-from=FILE      read exclude patterns from FILE
--include=PATTERN        don't exclude files matching PATTERN
--include-from=FILE      read include patterns from FILE
--files-from=FILE        read list of source-file names from FILE
--from0, -0              all *-from/filter files are delimited by 0s
--protect-args, -s       no space-splitting; wildcard chars only
--copy-as=USER[:GROUP]   specify user & optional group for the copy
--address=ADDRESS        bind address for outgoing socket to daemon
--port=PORT              specify double-colon alternate port number
--sockopts=OPTIONS       specify custom TCP options
--blocking-io            use blocking I/O for the remote shell
--outbuf=N|L|B           set out buffering to None, Line, or Block
--stats                  give some file-transfer stats
--8-bit-output, -8       leave high-bit chars unescaped in output
--human-readable, -h     output numbers in a human-readable format
--progress               show progress during transfer
-P                       same as --partial --progress
--itemize-changes, -i    output a change-summary for all updates
--remote-option=OPT, -M  send OPTION to the remote side only
--out-format=FORMAT      output updates using the specified FORMAT
--log-file=FILE          log what we're doing to the specified FILE
--log-file-format=FMT    log updates using the specified FMT
--password-file=FILE     read daemon-access password from FILE
--early-input=FILE       use FILE for daemon's early exec input
--list-only              list the files instead of copying them
--bwlimit=RATE           limit socket I/O bandwidth
--stop-after=MINS        Stop rsync after MINS minutes have elapsed
--stop-at=y-m-dTh:m      Stop rsync at the specified point in time
--write-batch=FILE       write a batched update to FILE
--only-write-batch=FILE  like --write-batch but w/o updating dest
--read-batch=FILE        read a batched update from FILE
--protocol=NUM           force an older protocol version to be used
--iconv=CONVERT_SPEC     request charset conversion of filenames
--checksum-seed=NUM      set block/file checksum seed (advanced)
--ipv4, -4               prefer IPv4
--ipv6, -6               prefer IPv6
--version, -V            print the version + other info and exit
--help, -h (*)           show this help (* -h is help only on its own)

Use "rsync --daemon --help" to see the daemon-mode command-line options.
Please see the rsync(1) and rsyncd.conf(5) man pages for full documentation.
See https://rsync.samba.org/ for updates, bug reports, and answers
rsync error: syntax or usage error (code 1) at main.c(1735) [client=3.2.3]
thomas@thomas-HP-255-G8:~$ 

Dann könnte ich wie gesagt versuchen diese Befehlszeile eizugeben, weis aber nicht wo

thomas@thomas-HP-255-G8:~$ rsync -avc --progress --ignore-existing /home /media/thomas/"Toshiba EXT"/Datensicherung

und nicht was dann passiert. Ich hab das Gefühl, dass du etwas anderes "Script" siehst als ich.

von.wert

Ich kenne Krusader und DoupleCommander nicht, aber vor einigen Jahren hatte ich mal mit Midnightcommander zu tun, hört sich so ähnlich an. wenn ich was ändern muss benutze ich Kate

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12281

Nein, Du gibst nicht rsync ein. rsync ist ein Befehl (und auch ein Paket zum Installieren), der aber entsprechende Optionen bzw. zusätzliche Angaben erwartet, eben z.B. Quelle und Ziel (...und was Quelle und Ziel bedeutet, muß man doch nicht erklären - oder?).

Ein Script ist vereinfacht gesagt eine Abfolge von Befehlszeilen. Die führt man dann nicht (mehr) einzeln aus, sondern nur noch diese Datei, das Script eben.

Wie ein Script aussehen kann, siehst Du eben bei dem fraglichen, also hier: Skripte/Backup mit RSYNC (Abschnitt „Das-Skript“).

Scripts sind reiner Text, d.h., zur Erstellung oder Änderung braucht man lediglich einen Texteditor. Da Du Ubuntu mit Gnome Shell nutzt, ist der grafische Editor gedit von Haus aus installiert.

Du startest also gedit, sinnvollerweise so:

1
sudo -H gedit /root/backup.sh

Für diesen Pfad muß dies mit root-Rechten geschehen, daher "sudo -H" davorgesetzt. Dann kopierst Du den kompletten Inhalt des Scripts dort hinein.

Da dieses Script, wenn man so will, ein Gerüst ist, mußt Du bestimmte Teile darin auf Dein System anpassen, insbesondere Pfade. Wenn Du dort etwas falsch machst, überhaupt mit rsync, kannst Du das Gegenteil dessen erreichen, was Du eigentlich willst: Datenverlust. Du mußt also wirklich wissen, was Du machst, konzentriert arbeiten.

Na, immer noch Lust dazu?

Vielleicht installierst Du nun doch einfach ein grafisches Frontend für rsync. Das bedeutet, Du hast eine grafische Oberfläche, auf der Du herumklicken kannst. Unter der Haube wirkt rsync, aber Befehlszeilen mußt Du nicht ausführen, das geschieht durch Deine Klicks.

Also z.B.:

1
sudo apt install grsync

Grafisches Programm, das Du auch über Menu durch Klick aufrufen kannst.

Rassmus

(Themenstarter)

Anmeldungsdatum:
9. November 2009

Beiträge: 113

Ganz herzlichen Dank Die graphische Anwendung erleichtert doch viel. Aber hier muss ich schon rsync in der Konsole starten Ich weiß schon dass da im Hintergrund ein Script arbeitet und in dessen Hintergrund eine Programmiersprache und dahinter irgendwo Nullen und Einsen. aber so ist halt bequemer und Bequemlichkeit setzt sich halt durch.Auch wenn man viel dafür tun muß.

Trotzdem hab ich schon wieder neue Fragen: Ich hab mal nachgeschaut und festgestellt: Meine externe Festplatte ist in "fuse" formatiert, frag nicht warum, ist das tauglich?

Ist es sinnvoll, dass in den Grundeinstellungen nicht eingestellt ist:

Besitzer erhalten Zugriffsrechte erhalten Gruppe erhalten Dateiinhalt komprimieren

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12281

Rassmus schrieb:

Trotzdem hab ich schon wieder neue Fragen:

...die Du regelkonform jeweils in einem separaten Thread stellst (die FUSE-Frage). Es ist nicht sinnvoll, alles in einen großen/einzigen zu kippen.

Ich lasse bereits ab 9334889 als separaten Thread für rsync abtrennen.

Rassmus

(Themenstarter)

Anmeldungsdatum:
9. November 2009

Beiträge: 113

Ok, das hat mit meiner ursprünglichen Frage nichts mehr zu tun und müsste in einem anderen Thread bearbeitet werden. Dann werde ich den Thread als gelöst (eher beendet) erklären und schließen. Vielen Dank für Eure Hilfe. LG Rassmus

Antworten |