тема изрыта уже везде, так что баян но может кому и пригодится В любой домашней директории создаем файл со следующим содержанием, например /home/vasya/arhiv1c.sh
#!/bin/bash cd /home/samba/1c # путь где находятся нужная база echo "Bigining archiving" echo "archiving base of 1c"
#Создем архив с именем1С<текущая дата>.tar.gz, чтобы нас не смущали бегущие по экрану строки – отправляем их в /dev/null tar -cvvzf /home/samba/arhiv/1c`date -I`.tar.gz /home/samba/1c >> /dev/null
Делаем этот скрипт исполняемым, chmod +x /home/vasya/arhiv1c.sh
В директории /etc/cron.daily создаем файл со следующем содержанием
#!/bin/sh 30 22 * * * /home/vasya/arhiv1c.sh #где 30 это минуты 22 — часы, то есть если мы создадим файл 1с, с таким содержанием и поместим в cron.daily, то каждый день в 22 30 он будет запускать скрипт arhiv1c.sh
теперь настроем crontab Выберем пользователя, под которым будет запускаться данный скрипт, в нашем пример vasya.
crontab -u vasya 1c
#далее посмотрим какие задание у этого пользователя в crontab
crontab -u vasya -l
Можно запускать и под root, но лучше выбрать любого другого системного пользователя. Для того чтобы из архива убрать файлы с раширением *.CDX строку tar -cvvzf /home/samba/arhiv/1c`date -I`.tar.gz /home/samba/1с >> /dev/null заменяем на tar -cvvzf /home/samba/arhiv/1c`date -I`.tar.gz /home/samba/1с - - exclude=*.CDX >> /dev/null
Для того чтобы задать имя файла связанный с датой, используем date. Примеры: 1с`date -I`.tar.gz — 1c2008-02-28.tar.gz 1c`date '+%d' `.tar.gz — 1c28.tar.gz 1c.`date '+%d-%B-%Y'`.tar.gz — 1c28-Февраль-2008.tar.gz