Где хранится пользователь crontab?

Поскольку обновление crontab моего пользователя было уничтожено. Это не первый случай, когда это произошло в этом году, и это боль, восстанавливающая его каждый раз.

Я хочу, чтобы иметь возможность резервного копирования crontab для моего пользователя, но для этого мне нужно знать, где он хранится.

1
задан 20 February 2016 в 21:29

3 ответа

Он хранится внутри папки /var/spool/cron/crontabs под именем пользователя.

44
ответ дан 25 May 2018 в 04:26

Наконец-то я узнал, почему мои установки crontabs и Postfix продолжали ломаться после загрузки. Это действительно глупая причина, но ...

У меня был /var/spool установлен как tmpfs RAM-диск.

Звучит идиотски, и это так, но я следил за одним из старый SSD-твики, чтобы продлить жизнь моего SSD. При этом я слепо смонтировал /tmp, /var/tmp и /var/spool как tmpfs, не думая о последствиях. Я думал, что /var/spool похож на /proc/ или /run/ и что он полезен только для продолжительности сеанса. Я был явно неправ.

27
ответ дан 25 May 2018 в 04:26
  • 1
    Нельзя устанавливать /tmp как tmpfs, но не /var/tmp или /var/spool. /tmp используется для временного хранения, которое может быть потеряно при перезагрузке. /var/tmp используется для временного хранения, которое останется после перезагрузки. И, как вы обнаружили, /var/spool предназначен для обработки данных, которые также будут сохранены после перезагрузки. – thomasrutter 30 June 2014 в 10:42
  • 2
    См. pathname.com/fhs/2.2/fhs-5.15.html – thomasrutter 30 June 2014 в 10:43
  • 3
    Отметим также, что количество записей в записи больше не является проблемой для современных твердотельных накопителей. – thomasrutter 30 June 2014 в 10:45

Список всех заданий cron от всех пользователей вашей системы:

for user in $(cut -f1 -d: /etc/passwd)
do
  echo $user
  crontab -u $user -l
done

Альтернативой вашей проблеме было бы разместить их в папке cron.d и указать соответствующего пользователя в cron, как в примере :

00 01 * * * user /home/user/user-script.sh
10
ответ дан 25 May 2018 в 04:26
  • 1
    если вы восстанавливаете crontab с другого диска, это не сработает, потому что crontab -u работает из вашей текущей системы. – JVE999 10 October 2014 в 02:38
  • 2
    Хотя я полагаю, что это однострочный шрифт, в котором он помещается менее чем на 80 символов и является несколько читаемым, мне обычно нравится вводить код в таком формате, чтобы человек мог либо скопировать-вставить, либо поместить его в скрипт (и, в скрипте это не будет одной строкой кода). Предлагаю редактировать ... – Parthian Shot 18 July 2015 в 03:14
  • 3
    Кроме того, я собирался превратить его в цикл while read user, чтобы обрабатывать случай, когда имя пользователя содержит пробелы, но, видимо, это не проблема. Очень ограниченный набор символов имени пользователя. – Parthian Shot 18 July 2015 в 03:24

Другие вопросы по тегам:

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