Запуск задания cron каждый месяц и результаты команды должны быть в файле - PullRequest
0 голосов
/ 21 октября 2019

Я впервые пытаюсь работать cron. Я пытаюсь создать файл, который будет содержать приложение, установленное пользователем в Ubuntu, и тот же файл должен быть загружен на сервер. Я не могу создать текстовый файл с этой информацией. Ниже приведена команда, которую я пытаюсь выполнить.

Файл сценария, который необходимо запустить для задания cron / tmp / aptlist.sh

#!/bin/bash
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u) &> /tmp/$(hostname)-$(date +%d-%m-%Y-%S)

cron имеет следующеезапись выполнена с использованием crontab -e

:~$ crontab -l
0 0 1 * * /tmp/aptlist.sh > /dev/null 2>&1

syslog имеет следующую запись, однако файл не создается

Oct 21 14:09:01 Astrome46 CRON[14592]: (user) CMD (/tmp/aptlist.sh > /dev/null 2>&1)
Oct 21 14:10:01 Astrome46 CRON[14600]: (user) CMD (/tmp/aptlist.sh > /dev/null 2>&1)

Пожалуйста, дайте мне знать, как решить проблему.

Спасибо

1 Ответ

1 голос
/ 21 октября 2019

Попробуйте это:

0 0 1 * * bash /tmp/aptlist.sh > /dev/null 2>&1

Если это работает, то я подозреваю, что это потому, что файл не имеет разрешений на исполняемый файл.

Вы можете это выяснитьнабрав в терминале:

ls -l /tmp/aptlist.sh.

Если это действительно так, вы также можете отредактировать права доступа к файлу, чтобы он запускался, набрав:

chmod u+x /tmp/aptlist.sh

Это позволит владельцу файла запускать его, но не позволит другим пользователям. Если вам нужно запустить его для другого пользователя, выполните:

chmod a+x /tmp/aptlist.sh

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...