к
Давно уже планировал написать небольшую заметку вот по какой важной теме. Я советую в скриптах, особенно тех, что будут запускать в cron указывать полные пути к бинарникам. То есть не просто rsync, а /usr/bin/rsync. Это сэкономит вам уйму времени на отладку и поиск проблем.
Обычное дело написать скрипт без полных путей, засунуть его в крон и долго соображать, почему что-то не работает. А все просто. Вы тестируете скрипт в своем окружении, а cron запускает в своем. И у него может не быть PATH для ваших бинарников.
Еще есть нюанс с тем, как PATH проверяется. У вас могут быть одни и те же имена бинарников, но в разных директориях. Например, для php это может быть актуально. Там надо смотреть, в какой последовательности перебираются пути. Я в свое время записал это, но сейчас уже подзабыл. Столкнулся с тем, что запускался не тот бинарник, который мне был нужен.
Я лично для себя решил, что проще везде писать полные пути, чем следить за тем, чтобы было правильное окружение, в котором все пути те, что вам нужны.