mrusklon
@mrusklon
Не получается? Яростно гугли!

Как правильно сделать задание для cron в ubuntu 18.04?

Есть такой файлик
#!/bin/bash
#сделать полное архивирование, если со дня последнего полного архивирования прошел 14 дней;
duplicity --no-encryption --verbosity info --volsize 1024 --exclude /media --exclude /dev --exclude /proc --exclude /tmp  --exclude /run --exclude /mnt --exclude /sys --exclude=/mnt --exclude=/proc --exclude=/tmp --exclude=/home --full-if-older-than 14D / file:///media/gray/4tb/backup/

# дамп mysql
mysqldump -u nextcloud2 -root@123123 nextcloud2 | gzip > `date +/home/gray/bnvp0_sql/dump.sql.%Y.%m.%d_%H.%M.gz`

#удалить резервные копии старше, чем Х месяцев.
duplicity remove-older-than 1M --force file:///media/gray/4tb/backup/

#восстановить файлы
#duplicity restore  file:///media/gray/4tb/backup/ /media/gray/4tb/test/ --no-encryption

#восстановление конкретного файла или папки (Во время восстановления каталога, папки создавать вручную не надо. Если восстанавливаете файл, то полный путь к конечной директории должен существовать.)
#duplicity --no-encryption --file-to-restore var/log file:///mnt/yadisk /restore/var/log
#duplicity --no-encryption --file-to-restore var/log/messages file:///mnt/yadisk /restore/var/log/messages

#посмотреть статус архивов
#duplicity collection-status --no-encryption file:///media/gray/4tb/backup/

#подробнее https://serveradmin.ru/backup-linux-servera-s-pomoshhyu-duplicity/


пытаюсь его запихнуть в cron но нечего не выходит, уже столько вариантов перепробовал, подскажите как правильно
пробовал так
sudo nano / etc / crontab
0 * * * * root /home/backup.sh
  • Вопрос задан
  • 2981 просмотр
Решения вопроса 1
slo_nik
@slo_nik
В консоли(терминал) Ubuntu выполняете команду
crontab -e
Это позволит редактировать задания для cron. После выполнения команды увидите в терминале что-то подобное
# 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

###
ВОТ ТУТ ПИШИТЕ СВОЁ РАСПИСАНИЕ ДЛЯ CRON
###
* * * * * /home/$user/bash.sh

После того, как напишите задание для corn, при помощи CTRL+O, ENTER и CTRL+X(последовательно) запишите и закроете редактор.
Просмотреть список заданий можно командой crontab -l

p.s.
Командой crontab -u UserName -e Вы укажите, от имени какого пользователя будет запускаться cron.

p.s.s.
Добавленные таким образом задания для cron будут храниться в /var/spool/cron/crontabs. В этой директории будет создан файл с названием по имени пользователя системы. Вот он как раз и редактируется через crontab -e.
Так же можно создать файлы с заданиями в /etc/cron.d. В этом случае надо указывать имя пользователя, от которого будет запускаться задание.
Так же есть директории /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly, /etc/cron.weekly. В этих директориях можно разместить файлы с заданиями, которые будут запускаться ежедневно, ежечасно, ежемесячно и еженедельно соответственно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы