Страница 1 из 1

Скрипт в Crontab-e и его исполнение

Добавлено: 2014-09-22 5:15:41
24rus
Hi All
Есть сабж: CentOS-6.2-I386, стоит самба, есть скрипт

Код: Выделить всё

[user@ad crontab]# cat Backup.sh
#!/bin/sh
LANG=ru_RU.UTF-8
LC_ALL="ru_RU.UTF8"

# Variables
Log="/server/crontab/Log_Backup.txt"
source_1="/server/samba/obcshaya/"
source_2="/server/samba/buhgalter/"
recipient_1="/server/samba/obcshaya_backup"
recipient_2="/server/samba/buhgalter_backup"
data1=$(date +%A)
data2=$(date "+%d-%b-%Y")

#Body
echo -----------------------------------------------------------------
data_start=$(date "+%d-%b-%Y | %H:%M")
echo Start Backup! $data_start
find $recipient_1 -maxdepth 1 -mtime +7 > $Log
find $recipient_1 -maxdepth 1 -mtime +7 -exec rm -rf {} \;
find $recipient_2 -maxdepth 1 -mtime +7 >> $Log
find $recipient_2 -maxdepth 1 -mtime +7 -exec rm -rf {} \;

cd $recipient_1
mkdir $data1"_"$data2
/usr/bin/rsync -rt $source_1 $data1"_"$data2
cd $recipient_2
mkdir $data1"_"$data2
/usr/bin/rsync -rt $source_2 $data1"_"$data2

data_finish=$(date "+%d-%b-%Y | %H:%M")
echo .......
echo Fihish Backup $data_finish

Если скрипт запускать руками, то все ок! Создается каталог "приемник" (дата создания на момент запуска скрипта), в него копируеться содержимое каталога "источника" . Каталоги старши 7-дней удаляются.

Проблема такая, в /etc/cron.d, создал файл Backupс содержимым

Код: Выделить всё

10 0 * * * root /server/crontab/Backup.sh >> /server/crontab/Log/Log_Backup.log 2>&1

После исполнения скрипта из cron-а создается каталог "применик" с датой создания файла Backup в /etc/cron.d !? , и второе никак не могу заставить создавать каталог "приемник", в локале ru_RU, упорно создает на en_EN .

Знатоки подскажите плиз куда копать ?

p.s. готовить пингвинов не умею :(

Re: Скрипт в Crontab-e и его исполнение

Добавлено: 2014-09-22 10:20:24
Neus
export LANG
export LC_ALL

про дату ничо не понял

Re: Скрипт в Crontab-e и его исполнение

Добавлено: 2014-09-22 10:42:40
24rus
Neus писал(а): про дату ничо не понял
Создаются каталоги:

Код: Выделить всё

имя                                  дата
Friday_19-sep-2014             15.09.2104 11:05
Saturday_20-sep-2014           15.09.2014 11:05
Sunday_21-sep-2014             15.09.2014 11:05
То есть дата создания, не день запуска скрипта, а день создания/редактирования задания

Re: Скрипт в Crontab-e и его исполнение

Добавлено: 2014-09-24 5:08:39
24rus
Разобрался в создании каталогов с одинаковой датой и временем.
Причина: rsyn и параметр t (сохранение времени создания/изменения файлов при копировании),
при создания каталога дата и время ставиться "правильное" mkdir $data1"_"$data2
при копировании /usr/bin/rsync -rt $source_1 $data1"_"$data2 , дата и время создание каталога( $data1"_"$data2) сбиваеться на дату и время создания "каталога-родителя"
решение изменил скрипт

Код: Выделить всё

cd $recipient_1
mkdir $data1"_"$data2
cd $data1"_"$data2
/usr/bin/rsync -rt $source_1 ARHIV
В итоге создаеться каталог $data1"_"$data2 и в нем подкаталог ARHIV, куда копируеться содержимое каталога $source_1

Re: Скрипт в Crontab-e и его исполнение

Добавлено: 2014-09-24 9:16:15
Neus

Код: Выделить всё

/usr/bin/rsync -rt $source_1/* $data1"_"$data2/*