Все файлы журналов вроде бы удалены [закрыто]

Я хотел перейти в каталог журналов на сервере ubuntu и проверить журнал дублирования, но я не знаю, что произошло, похоже, что все файлы журналов и подкаталоги пропали! Это команда, которую я использовал при входе на сервер:

sudo su | cd /var/log | cat duplicity.log | grep -i '. errors' | sort | uniq

Полагаю, мне следовало заменить первые два канала на && . У меня несколько вопросов, можно как-нибудь восстановить логи? Будут ли они и дальше появляться так, как обычно? Не вызовет ли удаление всех файлов журнала проблем с сервером? Почему это произошло?

-3
задан 7 November 2018 в 13:36
1 ответ

При объединении команд по конвейеру каждая из них будет выполняется в собственной оболочке. Последующие программы не будут унаследовать среду предыдущих программ, и поэтому такие вещи, как cd , больше не присутствуют.

Итак, если вы находитесь в своем домашнем каталоге, скажите / home / user и выполните cd data | cat filename , происходит то, что вы выполняете cd data и передаете вывод (в данном случае ничего) новому процессу с новой средой, которая по-прежнему будет в / home / пользователь , а не в / data , и поэтому не сможет найти filename при попытке cat его.

Лучшим вариантом было бы просто сказать cat /var/log/duplicity.log, а не cd ing в первую очередь.

Еще лучше: вам не нужен cat в первую очередь при использовании grep :

sudo grep -i ". errors" /var/log/duplicity.log | sort -u 

должно работать должным образом.

5
ответ дан 5 December 2019 в 21:50

Теги

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