Файлы, находящиеся на device1
в /mnt/sub
, вообще недоступны по этому пути. Переустановите устройство в другом месте или убедитесь, что два устройства установлены в противоположном порядке.
Согласно тому, что вы показываете в вопросе и говорите в комментариях , ваш скрипт не исполняемый и не содержит строки #!
-.
Как минимум, вы должны сделать скрипт исполняемым с помощью
chmod +x /path/auto_delete_backup_database.sh
и дайте ему правильную#!
-строку:
#!/bin/sh
(это должна быть самая первая строка скрипта без пробелов перед ней ).
Если скрипт не является исполняемым, его вообще нельзя будет использовать как скрипт. Попытка запустить такой файл вернет ошибку «Отказано в доступе» (. Возможно, ваш демон cron пытался отправить вам сообщение электронной почты с сообщением об этом ).
Без строки #!
-, указывающей вызывающей оболочке, какой интерпретатор оболочки использовать для запуска сценария, это зависит от того, какая оболочка вызывает его, что произойдет. Вы всегда должны иметь соответствующую строку#!
-в начале скрипта. В этом случае, поскольку никакие специальные функции bash
не используются, достаточно использовать /bin/sh
.
Очевидно, что вы также можете запланировать команду find
непосредственно с помощью cron:
0 0 * * * find path -type f -mtime +0 -print -delete >/path/auto_delete_backup_database.log 2>&1
Я думаю, что это подходит для заданий с одной -командой cron. Все более необычное лучше планировать как часть скрипта-оболочки.
Я добавил -print
к команде find
выше, что заставит ее выводить имена файлов, которые она пытается удалить (иначе она будет молчать ).
Используйте команду chmod
для установки бита выполнения, например.
chmod ugo+x auto_delete_backup_database.sh