В общем, ответ на ваш вопрос «да», но ...
.equals(...)
будет сравнивать только то, что написано для сравнения, не более, не менее. equals(Object o)
ближайшего родительского класса, который переопределил этот метод. Object#equals(Object o)
. В API-интерфейсе объекта это то же самое, что и ==
; то есть он возвращает true тогда и только тогда, когда обе переменные относятся к одному и тому же объекту, если их ссылки одно и то же. Таким образом, вы будете тестировать на равенство объектов, а не на функциональное равенство. hashCode
, если вы переопределите equals
, чтобы не «разорвать контракт». Согласно API, результат, возвращаемый методом hashCode()
для двух объектов, должен быть таким же, если их методы equals
показывают, что они эквивалентны. Обратное не обязательно верно. Вы уверены, что временный файл создается правильно при выполнении как задание крона? Рабочий каталог для Вашего сценария будет или указан в домашней переменной среды или/etc/passwd записи для пользователя, который установил задание крона. Если развертываются, не имеет полномочий записи для каталога, в котором это выполняется, то Вы могли указать полный путь для файла дампа для решения проблемы.
Похож на Ваш PATH
пропускает несколько каталогов, самое главное /bin
(для /bin/rm
). Вот что моя система /etc/crontab
использование:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Когда сценарии работают правильно в интерактивном режиме, но не, когда выполнено кроном, проблема обычно является из-за параметров среды среды на месте..., например, ПУТЕМ как alrady упомянутый @Ted Percival, но может быть другими переменными среды.
Это вызвано тем, что крон не вызовет .bash_profile, .bashrc или/etc/profile перед выполнением.
Лучший способ избежать этого состоит в том, чтобы гарантировать, чтобы любые сценарии, вызванные кроном, не делали предположений о среде при выполнении. Преодоление этого может быть столь же простым как включая несколько строк в Вашем сценарии, чтобы удостовериться, что среда является установкой правильно. Например, в моем случае у меня есть все значительные настройки в/etc/profile (для RHEL), таким образом, я буду включать следующую строку в любые сценарии, которые будут выполнены под кроном:
source /etc/profile
Крон посылает электронные письма с журналами?
В противном случае передайте производство по каналу крона к файлу журнала.
Удостоверьтесь, что перенаправили STDERR к журналу.