- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть простенький сценарий для cron’а для переноса бекапа на другой винт, примонтированный как папка hdd2:
chown -R root.root /home/user/backup/01092008
cp -R /home/user/backup/01092008 /hdd2/backup
[ -d /home/user/backup/01092008] && rm -rf /home/user/backup/01092008
изначально права на папку /home/user/backup/01092008 и все файлы в ней 700, но владелец не root. В кроне этот сценарий запускается из-под рута, поэтому пытаюсь сначала изменить владельца на root.
При запуске из bash скрипт корректно отрабатывает, владельцем становится root, все переносится и удпляется. А вот из crona не работает. Команда chown не отрабатывает, соответственно ничего не переносится и не удаляется, в логах крона “find: rm Terminated by signal 13”.
Помогите, пожалуйста, заставить этот скрипт отрабатывать из cron’а
Гуглила, перепробовала все советы, которые нашла. Не помогло… :(
либо Вы указали неполный код скрипта, либо ошибка в работе какого-то другого скрипта.
“find: rm Terminated by signal 13” - ошибка с организацией конвеера
по тексту ошибки - где-то в скрипте у Вас есть команда 'find', вывод отправляется на 'rm', вот там скрипт обламывается, проблема может быть и в синтаксисе, и в путях.
еще учитывайте, что для крона лучше указывать везде полные пути, а не относительные, либо делать переход в директорию скрипта, так как крон стартует скрипт, находять в домашней директории, а не там, где скрипт
по цитате:
Перед последней скобкой должен быть пробел
“find: rm Terminated by signal 13” - ошибка с организацией конвеера
по тексту ошибки - где-то в скрипте у Вас есть команда 'find', вывод отправляется на 'rm', вот там скрипт обламывается, проблема может быть и в синтаксисе, и в путях.
еще учитывайте, что для крона лучше указывать везде полные пути, а не относительные, либо делать переход в директорию скрипта, так как крон стартует скрипт, находять в домашней директории, а не там, где скрипт
Это я все знаю, пробел перед ] есть, пути везде полные. Есть в bash'е запустить этот скрипт из той директории из которой его крон стартует, то он отрабатывает, а с крона нет.
Есть файл backup_cron_ticker с правами 777 и текстом:
chown -R root.root /home/user/backup/01092008
cp -R /home/user/backup/01092008 /hdd2/backup
[ -d /home/user/backup/01092008 ] && rm -rf /home/user/backup/01092008
В /var/spool/cron/crontabs/root прописано
10 4 * * * /home/username/backup_cron_ticker 2>/var/spool/cron/crontabs/tmp.cron
В tmp.cron куча строк
“find: rm Terminated by signal 13”
Вообще, Ваш скрипт эквивалентен простому
Он выполняется от рута, поэтому менять владельца не нужно, проверять директорию тоже вобщем-то не обязательно
“find: rm Terminated by signal 13”
К указанному скрипту они не имеют отношения, тут источник ошибки команда find.
Проверьте, есть ли в кроне еще есть задания, которые складывают вывод ошибок в
И зачем туда? Эта директория используется кроном для файлов очереди
Попробуйте отправить вывод ошибок в другой файл, например, в /var/log/cron.err и смотрите, что будет там
Причиной всему оказалось то, что в конце crontab-файла должна быть пустая строка, иначе последнее задание не срабатывает.
Всем большое спасибо за советы