На проблемной машине, в каталоге Вы grep 'something' *
есть ли какие-либо специальные файлы как сокеты, именованные каналы (fifos), и т.д. там?
По крайней мере, в случае именованного канала, grep не получит EOF от именованного канала, пока что-то на самом деле не запишет EOF в именованный канал.
По умолчанию оболочки разворачивают подстановочные знаки, если файл соответствует им, но сохраните нерасширенными уникальный. Например, если Вы работаете touch /tmp/111; touch /tmp/11*
это создаст и затем обновит mtime на/tmp/111, но если/tmp пуст, но Вы звоните touch /tmp/11*
Вы получите файл, названный "11*" в/tmp.
Это - довольно странная функция оболочек. Иногда надлежащее расширение не возможно без специальных взломов как промежуточная функция. Актуальнейшие оболочки изобретают специальные опции для типичных случаев; например, "shopt-s failglob" в ударе отклоняет его от выполнения любой команды, где подстановочное соответствие перестало работать.
Каждый должен полагаться на подстановочное расширение находки, таким образом, такой шаблон должен быть заключен в кавычки против расширения в оболочке:
find /home/primbat/testing -name 'sftp_bcs_report_*.log' -type f -ctime +7
(отметьте одинарные кавычки). С нулем или одним файлом, это работает, но с двумя или больше файлами Вы получаете поврежденный синтаксис команды, и он жалуется - это - то, что сказано коллегой Arcege. Ваш "набор-f" отключает расширение полностью - хорошо, это - хорошая мера для диагностики, но может дать подводные грабли для будущего перемещения. Кавычки более просты:)
Кажется, что нет никакого соответствия файла sftp_bcs_report_*.log
в начальном каталоге на второй машине и больше чем одном таком файле на первом сервере. Для использования find
, шаблоны должны всегда заключаться в кавычки.