Крон для удаления файлов

Вопрос или проблема

В 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>$

Замеченные проблемы:

  1. Использование символа ‘>$’: Это привело к тому, что команда не выполнялась. $ не имеет смысла в этой строке и должен быть удален.
  2. Ошибка в кодировке: Вы, вероятно, скопировали команду с HTML-кодировкой, где > заменён на >, что также привело к неудачному выполнению.

Исправленная строка Cron

Ваше исправление выглядит следующим образом:

06 19 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete

Теперь команда корректно настроена и будет выполняться каждый день в 19:06.

Рекомендуемые действия

  1. Проверка Cron:
    Убедитесь, что служба Cron действительно активна, что вы уже сделали с помощью команды:

    service cron status

    Если служба работает, у вас не должно быть проблем с запуском команд.

  2. Права доступа:
    Убедитесь, что у вас есть соответствующие права на директорию /home/khemtit/Documents/Tijdelijk/ и на удаление файлов в ней.

  3. Логи:
    Чтобы отследить, происходит ли выполнение вашей задачи, вы можете перенаправить вывод и ошибки в файл журнала. Например:

    06 19 * * * find /home/khemtit/Documents/Tijdelijk/ -mtime +1 -type f -delete >> /var/log/cronlog 2>&1

    Это отправит вывод выполнения и сообщения об ошибках в файл /var/log/cronlog.

Заключение

Использование Cron для автоматизации удаления файлов — это мощный инструмент в вашем арсенале администрирования систем. С учетом ваших правок, задача теперь правильно настроена и будет выполнять свои функции. Важно помнить о проверке прав доступа и вести логи для мониторинга выполнения задач.

Оцените материал
Добавить комментарий

Капча загружается...