Страница 1 из 1
backup.sh + cron
Добавлено: 2008-12-16 19:15:27
Volodymyr
Написал вот скрипт для резервного копирования файлов хостинга.
Код: Выделить всё
!/bin/sh
cd /home/hosting/
for each in `ls`;
do tar cf /backup/`date "+%Y-%m-%d-%H:%M:%S"`.$each.tar --exclude=$each/common --exclude=$each/error_log --exclude=%%*.tpl.php $each
done;
find /backup/*.tar -ctime +60m -exec rm -f {} \;
Если запускать с консоли, работает отлично. А вот с cron`а не запускается совсем, в логе ничего нету. В crontab для теста поставил на каждые 10 минут.
Re: backup.sh + cron
Добавлено: 2008-12-16 20:03:22
Гость
PATH? Или запусти его внутри блока так
Код: Выделить всё
#! /bin/sh
# включаем xtrace
set -x
{
# твой код
# логгируем xtrace в /tmp/backup.sh.log
} >/tmp/${0##*/}.log 2>&1
# выключаем xtrace
set +x
кстати,
`ls` можешь заменить на
*.
Re: backup.sh + cron
Добавлено: 2008-12-16 20:43:20
Volodymyr
С * не взлетело. Но в общем пока ждал ответа начало работать. Может что-то в кроне намутил. Переставил на 3 ночи, посмотрим как сработает

Re: backup.sh + cron
Добавлено: 2008-12-17 13:25:58
Volodymyr
Работает
Решил вот немного подправить для удобства.
Код: Выделить всё
!/bin/sh
backup_dir="/backup"
hosting_dir="/home/hosting"
life_time=14d
checkdir ()
{
if [ ! -d $1 ]
then
mkdir $1
chmod 700 $1
fi
}
cd $hosting_dir
for host in `ls`
do
checkdir $backup_dir/$host
tar cf $backup_dir/$host/`date "+%Y-%m-%d.%H:%M:%S"`.$host.tar --exclude=$host/common --exclude=$host/error_log --exclude=%%*.tpl.php $host
done
checkdir $backup_dir/ad6s1a.root
sync && sync && dump -0aLu -C 16 -f - / > $backup_dir/ad6s1a.root/.`date "+%Y-%m-%d.%H:%M:%S"`.ad6s1a.root.hdd
checkdir $backup_dir/a6s1f.usr
sync && sync && dump -0aLu -C 16 -f - /usr > $backup_dir/a6s1f.usr/`date "+%Y-%m-%d.%H:%M:%S"`.a6s1f.usr.hdd
checkdir $backup_dir/ad6s1h.var
sync && sync && dump -0aLu -C 16 -f - /var > $backup_dir/ad6s1h.var/`date "+%Y-%m-%d.%H:%M:%S"`.ad6s1h.var.hdd
find $backup_dir/*.tar -mtime +{$life_time} -delete
find $backup_dir/*.hdd -mtime +{$life_time} -delete
Re: backup.sh + cron
Добавлено: 2008-12-19 18:50:02
Volodymyr
Ошибка в по которой не запускался скрипт - неправильные пути

Re: backup.sh + cron
Добавлено: 2008-12-19 18:55:08
zg
Volodymyr писал(а):Ошибка в по которой не запускался скрипт - неправильные пути

это ещё из названия темы было понятно - /usr/local/bin по умолчанию не прописан в кроне в PATH, но активно используется в скриптах
ещё правда бывает, что забывают переходить в папку, где лежит скрипт, но несколько реже.
Re: backup.sh + cron
Добавлено: 2009-01-01 3:58:50
Pez!
Здравствуйте, а обьясните пожалуйста, что значит вот эти строки
Код: Выделить всё
for host in `ls`
do
checkdir $backup_dir/$host
Re: backup.sh + cron
Добавлено: 2009-01-02 9:59:54
zg
Pez! писал(а):что значит вот эти строки
цикл по текущим папкам