Выход ls -lht является
-rwxrwxrwx 1 root root 1.6G Jan 3 05:32 vServer.log
При запуске ls -lht можно добавить что-то, что будет показывать только размер, дату и имя файла?
1.6G Jan 3 05:32 vServer.log
Использование: Я создаю резервные копии файлов с liferver на backupserver через rsync, но я хочу сравнить каталоги, чтобы увидеть, есть ли там новый файл на liferver перед запуском rsync, поэтому я могу отправить уведомление по электронной почте, если есть нет нового файла.
Если вы хотите сравнить разницу между файлами и каталогами между серверами live и резервного копирования, вы можете попробовать сухой прогон rsync, как показано ниже.
rsync -ravun --delete {source} {destination} |grep "^deleting "
От человека rsync:
[d3 ] u - пропустить файлы, которые новее на приемникеn - выполнить пробный запуск без внесенных изменений
Используйте stat для получения информации о конкретных файлах вместо ls. Выход stat более настраиваемый, поскольку он принимает строку формата:
$ stat -c '%s %y %n' /var/log/Xorg.0.log
82346 2017-01-03 19:26:17.799547336 +0900 /var/log/Xorg.0.log
$ stat -c '%s %Y %n' /var/log/Xorg.0.log
82346 1483439177 /var/log/Xorg.0.log
%y и %Y - это последние времена модификации, первая - временная метка Unix, последняя для чтения человеком. Для простой обработки информации в скрипте %y более удобно.
Чтобы получить поведение -t, вы можете sort выводить (во втором поле -k2,2, численно [ f12], в обратном порядке -r):
stat -c '%s %y %n' | sort -rnk2,2
(Я предполагаю, что у вас нет новых строк в ваших файлах или путях, что, я думаю, является безопасным допущением для журналов, но если вы делаете, опция stat --printf позволяет создавать вывод с нулевым разграничением, который sort может обрабатывать отлично с помощью -z.)