Когда на тебя завязано все в компании, то ты хочешь по максимому обезопасить себя и других на непредвиденный случай, который может произойти, к примеру, если есть еще кто-либо имеющий доступ к Ubuntu
системе, и он случайно удалил файл заданий, на этот случай я давно взял себе правило, что бекапировать нужно все и вся любым способом, который в данный момент времени Вам кажется удобным. После наберетесь опыта и сделаете по-другому.
Отобразить все задания под суперпользователем:
ekzorchik@dealers:~$ sudo crontab -l
а содержимое задания лежит по пути: /var/spool/cron/crontabs/
с именем/учетной записью для какого пользователя системы создали, к примеру, для учетной записи root
ekzorchik@dealers:~$ sudo ls /var/spool/cron/crontabs/ root ekzorchik@dealers:~$ sudo file /var/spool/cron/crontabs/root /var/spool/cron/crontabs/root: ASCII text ekzorchik@dealers:~$
Как видно файл с заданиями — это обычный текстовый файл, который можно открыть текстовым редактором, к примеру: Nano, ee, vi
Вот к примеру, на другой системе содержимое каталога crontabs
, только тут уже 2 пользователя: Login: root & Login: ekzorchik
ekzorchik@ekzorchik:~$ sudo ls -l /var/spool/cron/crontabs/ total 8 -rw------- 1 ekzorchik crontab 1125 Feb 16 12:51 ekzorchik -rw------- 1 root crontab 1125 Feb 16 12:51 root ekzorchik@ekzorchik:~$
Отобразить содержимое под указанной учетной записью, к примеру, для Login: ekzorchik
ekzorchik@ekzorchik:~$ sudo bash -c "cat /var/spool/cron/crontabs/ekzorchik" # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.n93g61/crontab installed on Fri Feb 16 12:51:00 2024) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any'). # # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command @daily crontab -l > $HOME/.crontab ekzorchik@ekzorchik:~$
по такому же принципу можно посмотреть, что для Login: root
Правда, как из вывода скрыть строки с комментариями (символ решетки "#"
), я пока не нашел.
Исходя из этого, я, когда получаю в обслуживание Ubuntu
систему, то разбираю что на ней установлено, как делаются бекапы, проверяю их создание сам и восстановление и обязательно в общий скрипт резервного копирования добавляю строку архивирования всего каталога crontabs
со всеми пользователями в системе:
ekzorchik@ekzorchik:~$ sudo tar cvzfP crontab.tar.gz /var/spool/cron/crontabs /var/spool/cron/crontabs/ /var/spool/cron/crontabs/root /var/spool/cron/crontabs/ekzorchik ekzorchik@ekzorchik:~$ file crontab.tar.gz crontab.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 10240 ekzorchik@ekzorchik:~$
Итого вот как полезно читать различные ресурсы и приобщаться к новому в пользу себя.
На этом заметка завершена, с уважением автор блога ekzorchik.