Почему не делает моей сдельной работы крона правильно?

В общем, ответ на ваш вопрос «да», но ...

  • .equals(...) будет сравнивать только то, что написано для сравнения, не более, не менее.
  • Если класс не переопределяет метод equals, то по умолчанию используется метод equals(Object o) ближайшего родительского класса, который переопределил этот метод.
  • Если родительские классы не предоставили переопределение, то по умолчанию используется метод из конечного родительского класса Object и поэтому вы остаетесь с методом Object#equals(Object o). В API-интерфейсе объекта это то же самое, что и ==; то есть он возвращает true тогда и только тогда, когда обе переменные относятся к одному и тому же объекту, если их ссылки одно и то же. Таким образом, вы будете тестировать на равенство объектов, а не на функциональное равенство.
  • Всегда помните, чтобы переопределить hashCode, если вы переопределите equals, чтобы не «разорвать контракт». Согласно API, результат, возвращаемый методом hashCode() для двух объектов, должен быть таким же, если их методы equals показывают, что они эквивалентны. Обратное не обязательно верно.
7
задан John Topley 16 August 2008 в 16:15
поделиться

4 ответа

Вы уверены, что временный файл создается правильно при выполнении как задание крона? Рабочий каталог для Вашего сценария будет или указан в домашней переменной среды или/etc/passwd записи для пользователя, который установил задание крона. Если развертываются, не имеет полномочий записи для каталога, в котором это выполняется, то Вы могли указать полный путь для файла дампа для решения проблемы.

2
ответ дан 6 December 2019 в 14:12
поделиться

Похож на Ваш PATH пропускает несколько каталогов, самое главное /bin (для /bin/rm). Вот что моя система /etc/crontab использование:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
4
ответ дан 6 December 2019 в 14:12
поделиться

Когда сценарии работают правильно в интерактивном режиме, но не, когда выполнено кроном, проблема обычно является из-за параметров среды среды на месте..., например, ПУТЕМ как alrady упомянутый @Ted Percival, но может быть другими переменными среды.

Это вызвано тем, что крон не вызовет .bash_profile, .bashrc или/etc/profile перед выполнением.

Лучший способ избежать этого состоит в том, чтобы гарантировать, чтобы любые сценарии, вызванные кроном, не делали предположений о среде при выполнении. Преодоление этого может быть столь же простым как включая несколько строк в Вашем сценарии, чтобы удостовериться, что среда является установкой правильно. Например, в моем случае у меня есть все значительные настройки в/etc/profile (для RHEL), таким образом, я буду включать следующую строку в любые сценарии, которые будут выполнены под кроном:

source /etc/profile
9
ответ дан 6 December 2019 в 14:12
поделиться

Крон посылает электронные письма с журналами?

В противном случае передайте производство по каналу крона к файлу журнала.

Удостоверьтесь, что перенаправили STDERR к журналу.

0
ответ дан 6 December 2019 в 14:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: