Первая строка вашего скрипта ломает все:
PATH=/data/sjamal/4.Backups
Это говорит вашему скрипту, что все его команды, включая bash
сам интерпретатор - живут исключительно в этом каталоге. (Возможно, вы не знали, что PATH
- это зарезервированная переменная? Попробуйте когда-нибудь echo $ PATH
, чтобы увидеть список каталогов, в которых обычно выполняется поиск команд.)
Измените свой использование PATH
во всем сценарии для чего-то еще, возможно, backup_dir
, и это с большей вероятностью будет работать, как ожидалось.
Другие подсказки: поместите свои переменные (и пути, использующие переменные) в "$ double_quotes"
, когда вы их используете. Поэтому вместо backup.log. $ DATE.repository
используйте «backup.log. $ DATE.repository»
.