Просто идея. Сохраните 2 каталога -один с файлами, затронутыми скриптом (рабочий каталог )и второй с синхронизированными файлами (зеркальный каталог ). Ставим на первую строку скрипта команду синхронизации:
rsync -xrlptgoEvv /home/user/work/ /home/user/mirror/
и в конце команды скрипта для обнаружения различий между каталогами work
и mirror
с перенаправлением вывода в обычный текстовый файл:
diff -rq /home/user/work/ /home/user/mirror/ > /home/user/list-of-files.txt
Вы можете дополнительно отфильтровать вывод команды diff
с помощью sed
, awk
и т. д., чтобы иметь необходимый формат ваших данных. Также рассмотрите вариант --delete
с rsync
для удаления из каталога mirror
файлов, которые были удалены из каталога work
с момента последней синхронизации.
ОБНОВЛЕНИЕ. Возможно, лучший способ — создать список файлов поверх скрипта:
ls -la /home/user/work/ > /home/user/list-of-files.txt
и внизу скрипта добавить новый список файлов к старому списку, отсортировать его и отфильтровать уникальные строки, которые будут представлять только новые файлы:
ls -la /home/user/work/ >> /home/user/list-of-files.txt
cat /home/user/list-of-files.txt | sort | uniq -u > /home/user/list-of-new-files.txt
На самом деле это не решение, а обходной путь: переведите ноутбук в спящий режим и разбудите его резервным копированием, после чего появится диск SATA.
Если в вашем ядре включена отладка для управления питанием, добавьте test _suspend=mem и suspend.pm _test _delay=2 в параметры времени загрузки. к сожалению, большинство ядер выпускаются без их компиляции.
Главное, после установки ОС, вам нужно дождаться начала загрузки ядра, закрыть крышку или использовать сочетание клавиш, чтобы перевести его в спящий режим, подождать секунду, разбудить его и дать компьютеру завершить загрузку, или скомпилируйте собственное ядро и включите параметры отладки управления питанием и приостановки тестирования в конфигурации.