Проблема связана с использованием относительного пути. Когда cron
запускает запланированное задание, он использует домашний каталог владельца в качестве рабочего каталога, например, если я запланировал задание от имени пользователя root, его рабочий каталог будет /root/
(в системе Cent OS).
Вы должны указать абсолютный путь в команде cd
. Если вы не выполняете никаких дополнительных команд в вашем скрипте, вы можете просто запустить все это в одной строке:
grep -rl '_0xaae8' /full/path/to/public_html/ | xargs sed -i 's/var\s_0xaae8.*//g'