Вопрос или проблема
В Ubuntu 17.10 команда
find /Home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete>$
удаляет мои файлы старше 1 дня. Но у меня нет результата в комбинации с cron.
Не могли бы вы сообщить мне об ошибке в строке ниже?
Моя команда:
15 00 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete>$
При нажатии Ctrl+O я вижу текст:
File Name to Write: tmpcrontab.OV51lh/crontab
Я считаю, что cron установлен правильно, потому что команда “service cron status” возвращает сообщение:
cron.service - Регулярная программа обработки фонового процесса
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: ena
Active: active (running) since Mon 2018-01-29 18:29:16 +07; 5min ago
Docs: man:cron(8)
Main PID: 861 (cron)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/cron.service
└─861 /usr/sbin/cron -f
Спасибо за вашу помощь. Теперь все работает.
Правильная строка должна быть:
06 19 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete
Моя ошибка заключалась в лишнем пробеле и $
в строке:
15 00 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete>$
Ответ или решение
Удаление файлов с помощью Cron в Ubuntu 17.10
Для автоматизации процессов в системах Linux, таких как Ubuntu 17.10, часто используется планировщик задач Cron. Это позволяет выполнять команды или скрипты в заданное время. Если ваша цель состоит в том, чтобы удалять файлы, старше одного дня, из определенной директории, эта задача может быть эффективно выполнена с помощью команды find
и соответствующей настройки Cron.
Проблема
Вы уже использовали следующую команду для удаления файлов:
find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete
Это правильно, и она удаляет файлы, старше одного дня, из указанной директории. Однако, в сочетании с Cron, ваш первоначальный ввод не работал должным образом.
Ваша начальная строка Cron:
15 00 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete>$
Замеченные проблемы:
- Использование символа ‘>$’: Это привело к тому, что команда не выполнялась.
$
не имеет смысла в этой строке и должен быть удален. - Ошибка в кодировке: Вы, вероятно, скопировали команду с HTML-кодировкой, где
>
заменён на>
, что также привело к неудачному выполнению.
Исправленная строка Cron
Ваше исправление выглядит следующим образом:
06 19 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete
Теперь команда корректно настроена и будет выполняться каждый день в 19:06.
Рекомендуемые действия
-
Проверка Cron:
Убедитесь, что служба Cron действительно активна, что вы уже сделали с помощью команды:service cron status
Если служба работает, у вас не должно быть проблем с запуском команд.
-
Права доступа:
Убедитесь, что у вас есть соответствующие права на директорию/home/khemtit/Documents/Tijdelijk/
и на удаление файлов в ней. -
Логи:
Чтобы отследить, происходит ли выполнение вашей задачи, вы можете перенаправить вывод и ошибки в файл журнала. Например:06 19 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete >> /var/log/cronlog 2>&1
Это отправит вывод выполнения и сообщения об ошибках в файл
/var/log/cronlog
.
Заключение
Использование Cron для автоматизации удаления файлов — это мощный инструмент в вашем арсенале администрирования систем. С учетом ваших правок, задача теперь правильно настроена и будет выполнять свои функции. Важно помнить о проверке прав доступа и вести логи для мониторинга выполнения задач.