Як команда "tar" вдається "бачити" змінені файли між двома додатковими резервними копіями


2

Як смола команда перевіряє, чи файл змінений чи ні? Як смола "знає", що цей файл змінено, і він повинен перейти до наступного додаткового резервного копіювання?

У мене є деякі припущення:

  • він може порівнювати "mtime";
  • він може порівнювати "ctime";
  • він може порівнювати вміст (використовуючи щось на зразок md5sum);

Коли я кажу смола я маю на увазі GNU tar .

Відповіді:


2

Якщо ви маєте на увазі GNU tar, то, згідно з інструкцією, він перевіряє змінений час на той, що знаходиться в архіві. Так і буде mtime.

http://www.gnu.org/software/tar/manual/html_section/Advanced-tar.html#SEC62

Для файлу, який було змінено, ctime залишиться незмінним, тому не буде дійсною перевіркою. tar не виконує перевірки md5.


2

Я зробив деякі тести з GNU tar і виявив, що:

  • Під час оновлення архіву, тобто tar uvvf test.tar test_folder тільки mtime використовується для перевірки зміни файлу.

  • Під час створення інкрементного архіву за допомогою файлу знімка як у tar cvvf test.tar --listed-incremental=snaphot test_folder як mtime, так і ctime використовуються для перевірки змін. Це робиться тому, що зміна деяких атрибутів файлу (тобто власника) змінює час ctime. Tar використовується для резервування не тільки вмісту файлів, але і їх атрибутів.

  • І, нарешті, tar не перевіряє файли в архіві, і якщо вам вдасться підмінити файлову систему і змінити вміст файлу, але не змінити їх mtime і ctime tar не включить цей файл в наступний приріст.

Для довідки про atime, mtime і ctime я використав це http://www.unix.com/tips-tutorials/20526-mtime-ctime-atime.html .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.