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