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

Tar, cron попытка резервирования

Добавлено: 2013-04-02 8:10:15
xtreitd
Добрый день, и снова я! :oops:
Итак, имеем tar, cron и созданую папку /backup в корне /root/ то есть /root/backup
Также имеем скрипт, глубина резервирования 7 дней (бэкапы которые старше 7 дней удаляются автоматически) - вот:

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

#!/bin/bash
cd /root/backup/
rm `date --date=`-7 day` +%F`.tar #удалить бэкап недельной давности
tar -cvpf `date +%F`.tar /etc/ /usr/local/etc/ /usr/src/sys/i386/conf/ROUTER /root/ #создать файл бэкапа папок
Скрипту права на запуск заданы:

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

chmod +x /usr/local/bin/backup.sh
Запуск скрипта в ручную, все нормально работает!
Через CRON - напрочь отказывается создавать бэкап, в папке /backup не появляется ничего!
Планировщик cron:

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

crontab -l
55 20 * * 0 /sbin/shutdown -p now
30 09 * * * /usr/local/bin/backup.sh
30 09 * * 2 portsnap -I cron update
Задачи в Cron добавлял из под рута.
Помогите разобраться, спасибо!

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 8:21:08
Alvares
ИМХО в скрипте пропишите полные пути к командам, т.е.

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

/usr/bin/rm
/usr/local/bin/tar
и, кстати, почему bash? К тому же он находится в local///

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 8:23:52
vadim64

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

#!/bin/bash -x
cd /root/backup/ && echo "cd ok" >> /var/log/backup
rm -v`date --date=`-7 day` +%F`.tar && echo "rm ok" >> /var/log/backup
tar -cvpf `date +%F`.tar /etc/ && echo "tar /etc ok" >> /var/log/backup
tar -rvpf `date +%F`.tar /usr/local/etc/ && echo "tar /usr/local/etc/  ok" >> /var/log/backup
tar -rvpf `date +%F`.tar /usr/src/sys/i386/conf/ROUTER && echo "/usr/src/sys/i386/conf/ROUTER  ok, any idea of reason of this?" >> /var/log/backup
tar -rvpf `date +%F`.tar /root/ && echo "tar /root/ ok" >> /var/log/backup

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 8:59:00
xtreitd
Alvares писал(а):и, кстати, почему bash?
Спасибо, я скрипт нарыл на просторах инета...уже не помню где!
Поэтому Bash )) собственно..., а что вы предлагаете?
vadim64 писал(а):ok, any idea of reason of this?
)) Ога, Спасибо, позже Ваш вариант протестирую!

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 12:43:55
xtreitd

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

#!/bin/bash -x
cd /root/backup/ && echo "cd ok" >> /var/log/backup
rm -v`date --date=`-7 day` +%F`.tar && echo "rm ok" >> /var/log/backup
tar -cvpf `date +%F`.tar /etc/ && echo "tar /etc ok" >> /var/log/backup
tar -rvpf `date +%F`.tar /usr/local/etc/ && echo "tar /usr/local/etc/  ok" >> /var/log/backup
tar -rvpf `date +%F`.tar /usr/src/sys/i386/conf/ROUTER && echo "/usr/src/sys/i386/conf/ROUTER  ok, any idea of reason of this?" >> /var/log/backup
tar -rvpf `date +%F`.tar /root/ && echo "tar /root/ ok" >> /var/log/backup
Поменял на этот скрипт, выставил в cron 15.25 а все равно ничего не происходит! И в логах тоже пусто!
В ручную 2 раза запускал, в логах все высвечивается!

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 13:35:30
vadim64
покажите пожалуйста

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

tail -20 /var/log/backup

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 13:52:24
xtreitd
vadim64 писал(а):покажите пожалуйста

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

tail -20 /var/log/backup
Пожалуйста:

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

rd@bsd:/home/rd % tail -20 /var/log/backup
cd ok
tar /etc ok
tar /usr/local/etc/  ok
/usr/src/sys/i386/conf/ROUTER ok, any idea of reason of this?
tar /root/ ok
cd ok
tar /etc ok
tar /usr/local/etc/  ok
/usr/src/sys/i386/conf/ROUTER ok, any idea of reason of this?
tar /root/ ok

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 14:00:02
vadim64

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

ls -alo /root/backup/
???

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 14:12:10
xtreitd
Вот:

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

rd@bsd:/home/rd % ls -alo /root/backup/
total 6760
drwxr-xr-x  2 root  wheel  -     512  2 апр 15:20 .
drwxr-xr-x  7 root  wheel  -     512 18 мар 10:54 ..
-rw-r--r--  1 root  wheel  - 1974272 18 мар 11:08 2013-03-18.tar
-rw-r--r--  1 root  wheel  - 4840448  2 апр 15:33 2013-04-02.tar

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-02 14:46:17
vadim64
а Вы на какой результат расчитываете?

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-03 6:13:40
xtreitd
vadim64 писал(а):а Вы на какой результат расчитываете?
Вопрос с подвохом?
Но я расчитываю на то, что у меня будет работать бэкап и в папке должно быть 7 архивов, а старые должны затираться!
Но по приходу из 2-ух недельного отпуска обнаружил что у меня ни че не бэкапится!
Поможете? :oops:

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-03 8:47:16
vadim64
потестите пару дней, должно работать

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-03 14:27:14
redhat
xtreitd писал(а):

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

rm `date --date=`-7 day` +%F`.tar #удалить бэкап недельной давности
Эмм...

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

find "где_искать" -mtime +7 -exec rm {} ;
Так не проще?

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-03 16:54:43
snorlov
redhat писал(а):
xtreitd писал(а):

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

rm `date --date=`-7 day` +%F`.tar #удалить бэкап недельной давности
Эмм...

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

find "где_искать" -mtime +7 -exec rm {} ;
Так не проще?
слешек забыл...

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

find "где_искать" -mtime +7 -exec rm {} \;

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-03 21:56:08
redhat
snorlov писал(а):
redhat писал(а):
xtreitd писал(а):

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

rm `date --date=`-7 day` +%F`.tar #удалить бэкап недельной давности
Эмм...

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

find "где_искать" -mtime +7 -exec rm {} ;
Так не проще?
слешек забыл...

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

find "где_искать" -mtime +7 -exec rm {} \;
Точно. Писал по памяти. Спасибо :)

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 6:04:43
xtreitd
redhat писал(а):Так не проще?
Возможно проще, но это будем рассматривать позже. Спасибо :)
vadim64 писал(а):потестите пару дней, должно работать
Вадим помогайте тестил 2 дня, в папке backup так ничего и не появилось?!

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 6:56:43
vadim64

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

ls -alo /root/backup/

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 7:02:56
xtreitd

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

rd@bsd:/home/rd % ls -alo /root/backup/
total 6760
drwxr-xr-x  2 root  wheel  -     512  2 апр 15:20 .
drwxr-xr-x  7 root  wheel  -     512 18 мар 10:54 ..
-rw-r--r--  1 root  wheel  - 1974272 18 мар 11:08 2013-03-18.tar
-rw-r--r--  1 root  wheel  - 4840448  2 апр 15:33 2013-04-02.tar

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 7:05:54
Neus
xtreitd писал(а): Вадим помогайте тестил 2 дня, в папке backup так ничего и не появилось?!
у вас crond работает ваще? :)

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 7:19:34
xtreitd
Neus писал(а):у вас crond работает ваще? :)
Ну раз уж Выключение компьютера, каждое воскресенье происходит! Смею предположить что да.

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 7:22:39
vadim64

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

tail /var/log/backup

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 8:31:08
xtreitd

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

rd@bsd:/home/rd % tail /var/log/backup
cd ok
tar /etc ok
tar /usr/local/etc/  ok
/usr/src/sys/i386/conf/ROUTER ok, any idea of reason of this?
tar /root/ ok
cd ok
tar /etc ok
tar /usr/local/etc/  ok
/usr/src/sys/i386/conf/ROUTER ok, any idea of reason of this?
tar /root/ ok
Все те же 2 записи, и ничего больше!
При просмотре:

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

ls -l /var/log
Выдает:

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

-rw-r--r-- 1 root wheel 236 2 апр 15:33 backup
То есть эти 2 записи отработали - когда я запускал скрипт в ручную еще 2 апреля 15.33

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 8:34:56
vadim64

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

crontab -l

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 8:38:07
xtreitd
Вот он:

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

crontab -l
55 20 * * 0 /sbin/shutdown -p now
15 09 * * * /usr/local/bin/backup.sh
30 09 * * 2 portsnap -I cron update

Re: Tar, cron попытка резервирования

Добавлено: 2013-04-04 8:41:57
vadim64

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

echo "date >> /var/log/bacup" >> /usr/local/bin/backup.sh
и ждём ещё два дня
можете сейчас ещё запустить в оболочке /usr/local/bin/backup.sh