- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть простенький сценарий для 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-файла должна быть пустая строка, иначе последнее задание не срабатывает.
Всем большое спасибо за советы