[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

rsync ändert bei Ziel atime und ctime obwohl das Ziel ext3 FS mit noatime und nodiratime gemountet ist



Hallo,

ich habe ein merkwürdiges Verhalten das ich mir nicht erklären kann. Das Source und Targes-System ist ein aktuelles
Debian 9. Die Synchronisation wird mit rsync über ssh durchgeführt. rsync ist 3.1.2 (aktuellste 3.1.3).

Die Sourcedatei in dem zu syncenden Verzeichnis ändert sich nicht. Die Zieldatei wird nicht neu übertragen.
Wegen --noatime wird auf dem Sourcesystem die atime und ctime nicht geändert. Aber Sie wird auf dem Target-
system geändert. Das wäre soweit wohl auch normal.
Damit ich das verhindere habe ich allerdings das Zieldateisystem mit noatime und nodiratime gemountet.
Wärend ein cat und ls die atime und ctime jeweils nicht anfässt ändert sich beim rsync diese beiden
Zeiten jedes mal.

Kann mir das jemand erklären?
Ist das ein Bug?
Und wo müsste man den bug unsiedeln? Im Kernel oder bei rsync?

PS: Ich habe auch versucht dem Zielrsync mittels Option --noatime mitzuteilen das das Ziel auch nicht
agefasst werde soll. Allerdings sagt schon die manpage, das --noatime nur das Source betrachtet und
nicht das Ziel. Es war einfach ein test.

Hier nochmal meine Systeme(hoffe das es ausreicht):

Source (nihilnihil):
pierre@nihilnihil:~/bin$ uname -a
Linux nihilnihil 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
pierre@nihilnihil:~/bin$ cat /etc/debian_version
9.5
pierre@nihilnihil:~/bin$ rsync --version
rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes, prealloc

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.


Target (file):
pierre@file:~$ uname -a
Linux file 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
pierre@file:~$ cat /etc/debian_version
9.5
pierre@file:~$ rsync --version
rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes, prealloc

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.


Hier die recht einfachen tests.

Inital kein Verzeichnis und keine Datei weder auf nihilnihil noch auf file.

pierre@nihilnihil:~$ mkdir dir
pierre@nihilnihil:~$ touch dir/file
pierre@nihilnihil:~$ stat dir dir/file
  Datei: dir
  Größe: 4096           Blöcke: 8          EA Block: 4096   Verzeichnis
Gerät: fd0ah/64778d     Inode: 1884278     Verknüpfungen: 2
Zugriff: (0755/drwxr-xr-x)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Zugriff    : 2018-10-11 14:26:47.651971031 +0200
Modifiziert: 2018-10-11 14:26:52.487962329 +0200
Geändert   : 2018-10-11 14:26:52.487962329 +0200
 Geburt    : -
  Datei: dir/file
  Größe: 0              Blöcke: 0          EA Block: 4096   reguläre leere Datei
Gerät: fd0ah/64778d     Inode: 97492993    Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Zugriff    : 2018-10-11 14:26:52.487962329 +0200
Modifiziert: 2018-10-11 14:26:52.487962329 +0200
Geändert   : 2018-10-11 14:26:52.487962329 +0200
 Geburt    : -

Dann rsync von nihilnihil auf file

pierre@nihilnihil:~$ rsync --stats --info=DEL2,NAME1,STATS2 --modify-window=2 --noatime --delete --delete-during -aHAX -e "${SSHCOMMAND}" --remote-option='--noatime' ~/dir/ "pierre@${TARGETHOST}:~/dir/"
created directory /home/pierre/dir
./
file

Number of files: 2 (reg: 1, dir: 1)
Number of created files: 2 (reg: 1, dir: 1)
Number of deleted files: 0
Number of regular files transferred: 1
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 133
Total bytes received: 88

sent 133 bytes  received 88 bytes  63.14 bytes/sec
total size is 0  speedup is 0.00

Source ändert sich nicht:

pierre@nihilnihil:~$ stat dir dir/file
  Datei: dir
  Größe: 4096           Blöcke: 8          EA Block: 4096   Verzeichnis
Gerät: fd0ah/64778d     Inode: 1884278     Verknüpfungen: 2
Zugriff: (0755/drwxr-xr-x)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Zugriff    : 2018-10-11 14:27:29.875895051 +0200
Modifiziert: 2018-10-11 14:26:52.487962329 +0200
Geändert   : 2018-10-11 14:26:52.487962329 +0200
 Geburt    : -
  Datei: dir/file
  Größe: 0              Blöcke: 0          EA Block: 4096   reguläre leere Datei
Gerät: fd0ah/64778d     Inode: 97492993    Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Zugriff    : 2018-10-11 14:26:52.487962329 +0200
Modifiziert: 2018-10-11 14:26:52.487962329 +0200
Geändert   : 2018-10-11 14:26:52.487962329 +0200
 Geburt    : -

Target mtime ist gleich, der ctime und atime sind neuer mehr oder minder wie erwartet (keine nanosekunden da meines wissens erst ab 3.1.3 verfügbar):

pierre@file:~$ stat dir dir/file
  File: dir
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: ca03h/51715d    Inode: 8519839     Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Access: 2018-10-11 14:27:29.000000000 +0200
Modify: 2018-10-11 14:26:52.000000000 +0200
Change: 2018-10-11 14:27:29.000000000 +0200
 Birth: -
  File: dir/file
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: ca03h/51715d    Inode: 8519840     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Access: 2018-10-11 14:27:29.000000000 +0200
Modify: 2018-10-11 14:26:52.000000000 +0200
Change: 2018-10-11 14:27:29.000000000 +0200
 Birth: -

Neuer rsync ohne geänderte Source:

pierre@nihilnihil:~$ rsync --stats --info=DEL2,NAME1,STATS2 --modify-window=2 --noatime --delete --delete-during -aHAX -e "${SSHCOMMAND}" --remote-option='--noatime' ~/dir/ "pierre@${TARGETHOST}:~/dir/"

Number of files: 2 (reg: 1, dir: 1)
Number of created files: 0
Number of deleted files: 0
Number of regular files transferred: 0
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 87
Total bytes received: 19

sent 87 bytes  received 19 bytes  30.29 bytes/sec
total size is 0  speedup is 0.00
pierre@nihilnihil:~$ stat dir dir/file
  Datei: dir
  Größe: 4096           Blöcke: 8          EA Block: 4096   Verzeichnis
Gerät: fd0ah/64778d     Inode: 1884278     Verknüpfungen: 2
Zugriff: (0755/drwxr-xr-x)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Zugriff    : 2018-10-11 14:27:29.875895051 +0200
Modifiziert: 2018-10-11 14:26:52.487962329 +0200
Geändert   : 2018-10-11 14:26:52.487962329 +0200
 Geburt    : -
  Datei: dir/file
  Größe: 0              Blöcke: 0          EA Block: 4096   reguläre leere Datei
Gerät: fd0ah/64778d     Inode: 97492993    Verknüpfungen: 1
Zugriff: (0644/-rw-r--r--)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Zugriff    : 2018-10-11 14:26:52.487962329 +0200
Modifiziert: 2018-10-11 14:26:52.487962329 +0200
Geändert   : 2018-10-11 14:26:52.487962329 +0200
 Geburt    : -

Aber auf dem Ziel hat sich atime und ctime geändert:

pierre@file:~$ stat dir dir/file
  File: dir
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: ca03h/51715d    Inode: 8519839     Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Access: 2018-10-11 14:30:41.000000000 +0200
Modify: 2018-10-11 14:26:52.000000000 +0200
Change: 2018-10-11 14:30:41.000000000 +0200
 Birth: -
  File: dir/file
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: ca03h/51715d    Inode: 8519840     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  pierre)   Gid: ( 1000/  pierre)
Access: 2018-10-11 14:30:41.000000000 +0200
Modify: 2018-10-11 14:26:52.000000000 +0200
Change: 2018-10-11 14:30:41.000000000 +0200
 Birth: -

Es wäre schön wenn mir jemand weiter helfen könnte und wie ich das Verhalten abstellen könnte, wenn es
möglich ist.

Danke schon mal,
Pierre






Reply to: