После обновления crontab моего пользователя был уничтожен. Это не первый раз, когда это происходит в этом году, и это боль, восстанавливающая это каждый раз.
Я хотел бы иметь возможность сделать резервную копию crontab для моего пользователя, но для этого мне нужно знать, где он хранится.
cron
пакета, но я согласен - это не то, что должно произойти.Ответы:
На самом деле, не рекомендуется обрабатывать эти файлы вручную. На
crontab
страницу man:Файлы ниже
/var/spool
считаются временными / рабочими, поэтому они, вероятно, удаляются во время обновления, хотя более внимательный взгляд наcron
сценарии обновления пакета может пролить некоторый свет на это.В любом случае, всегда рекомендуется создавать резервные копии записей cron или сохранять их в файле в вашем домашнем каталоге.
Я предполагаю, что вы используете
crontab -e
для создания файлов crontab на лету. Если это так, вы можете получить «копию» вашего файла crontab, выполнивcrontab -l
. Передайте это в файл, чтобы получить «резервную копию»:Затем вы можете отредактировать этот файл my-crontab, чтобы добавить или изменить записи, а затем «установить» его, передав его в crontab:
Это делает ту же проверку синтаксиса, что и
crontab -e
.источник
crontab -l
это проще, чем проходить в/var/spool/cron/crontabs/$USER
основном из-за странных прав доступа к этому файлу.iptables-save
Крон. Хороший .../var/spool/cron/crontabs
удобно, если вы хотите курировать или исследовать crontabs от нескольких пользователей.sudo grep -rHin "$string" /etc/cron*
(где строка может быть команда , какdocker
,lftp
,iptables
и т.д. Это хорошая идея , чтобы проверить crontabs пользователей также Это то, что привело меня к этому Q & A..sudo grep -rHin "$string" /etc/cron* /var/spool/cron*
Он хранится в
/var/spool/cron/crontabs
папке под именем пользователя.источник
Я наконец-то узнал, почему мои установки crontabs и Postfix продолжали ломаться после загрузки. Это действительно глупая причина, но ...
Я
/var/spool
смонтировал какtmpfs
RAM-диск.Звучит идиотски, и это так, но я следовал одному из старых SSD-твиков, чтобы продлить жизнь моего SSD. При этом, я слепо смонтированный
/tmp
,/var/tmp
и ,/var/spool
какtmpfs
не думая о последствиях. Я думал, что это/var/spool
похоже/proc/
или/run/
и что это было полезно только на время сеанса. Я был явно неправ.источник
/tmp
как tmpfs, но не как/var/tmp
или/var/spool
./tmp
используется для временного хранения, которое может быть потеряно при перезагрузке./var/tmp
используется для временного хранения, которое останется после перезагрузки. И, как вы обнаружили,/var/spool
для обработки данных, которые также останутся после перезагрузки.Чтобы вывести список всех заданий cron от всех пользователей вашей системы:
Альтернативой вашей проблеме может быть размещение их в папке cron.d и указание соответствующего пользователя для cron, как в примере:
источник
crontab -u
он работает с вашей текущей системы.while read user
цикл, чтобы обработать случай, когда имя пользователя содержит пробелы, но, очевидно, это не проблема. Очень ограниченный набор символов имени пользователя.