Скрытие некоторых выходных данных ls -l

Выход 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, поэтому я могу отправить уведомление по электронной почте, если есть нет нового файла.

1
задан 3 January 2017 в 20:56

2 ответа

Если вы хотите сравнить разницу между файлами и каталогами между серверами live и резервного копирования, вы можете попробовать сухой прогон rsync, как показано ниже.

rsync -ravun --delete {source} {destination} |grep "^deleting "

От человека rsync:

[d3 ] u - пропустить файлы, которые новее на приемнике

n - выполнить пробный запуск без внесенных изменений

3
ответ дан 23 May 2018 в 02:47

Используйте 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.)

2
ответ дан 23 May 2018 в 02:47

Другие вопросы по тегам:

Похожие вопросы: