PDA

Bekijk de volledige versie : Total backup или "Запомнить всё"



lexass
12-04-2007, 23:06
ЗАДАЧА:
требуется все файлы из папки Z:\ftp_pub\xz
переносить в 23.59
в папку Z:\ftp_pub\old\ТЕКУШАЯ ДАТА

ТЕКУШАЯ ДАТА - формата дд_мм_гг

ЗЫ
если можно поподробней, как это реализовать... (наверное просто):confused:

ЗЗЫ
Z:\ftp_pub\xz - путь из под ВЫНИ (на подключенный диск)

al37919
13-04-2007, 20:18
ключевое слово для поиска cron

lexass
14-04-2007, 11:03
искал, осознание не настало!

в теории понимаю, там должно быть что-то типа:
cp /tmp/harddisk/ftp_pub/xz /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`

при попытке просто выполнить эту строку, ответ:
cp: /tmp/harddisk/ftp_pub/xz: omitting directory

ЗЫ
что всетаки сделать чтоб работало
и как заставить выполнятся по расписанию?

гуру ПЛЗ не посылайте ни куда, просто чиркните несколько доходчивых строк!

al37919
14-04-2007, 12:28
во! вот это мне понравилось: `date -u +%d_%m_%Y` Надо взять на вооружение :)

Вообще копирование должно выглядеть по-моему так, причем директория должна быть создана заранее:

cp /tmp/harddisk/ftp_pub/xz/* /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`

а может быть и cp -r, возможно, последний аргумент взять в кавычки

Теперь насчет расписания.

1) установить cron
2) создать файл, следующего содержания:


#! /bin/sh

mkdir `date -u +%d_%m_%Y`
cp /tmp/harddisk/ftp_pub/xz/* /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`


сделать его исполняемым и положить в директорию /opt/etc/cron.daily

этот файл надо отработать заранее, чтобы работал корректно при ручном запуске

3) и, наконец, в /opt/etc/crontab должена быть следующая строка:

59 23 * * * root run-parts /opt/etc/cron.daily

lexass
14-04-2007, 12:53
сделать его исполняемым и положить в директорию /opt/etc/cron.daily

этот файл надо отработать заранее, чтобы работал корректно при ручном запуске

можно вот тут поподробней...


и видимо :
mkdir /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`



и вот это:

3) и, наконец, в /opt/etc/crontab должена быть следующая строка:

59 23 * * * root run-parts /opt/etc/cron.daily
нету такого файла, могу создать (создал, как оно все должно заработать???)

al37919
14-04-2007, 13:03
>сделать его исполняемым и положить в директорию /opt/etc/cron.daily

chmod 755 filename
cp filename /opt/etc/cron.daily

>этот файл надо отработать заранее, чтобы работал корректно при ручном запуске

то что я написал --- это теория. Я не проверял выполняется оно или нет. Так вот и надо убедиться, что оно работает так как хотелось бы, перед тем как сутки ждать запуска через крон

насчет mkdir согласен

инструкция по установке cron здесь: http://wl500g.info/showthread.php?t=5909&highlight=cron там еще и run-parts надо создавать

lexass
14-04-2007, 13:45
скажу честно, не хочется заниматься изучениями....
просто хочется чтоб все заработало и забыть!!!

ЗЫ
в ручном режиме это:
mkdir /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`
cp /tmp/harddisk/ftp_pub/xz/* /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`
работает на ура

ЗЗЫ
в аглицком не силен :(

al37919
14-04-2007, 14:34
ipkg install cron
mkdir /opt/etc/cron.5mins
mkdir /opt/etc/cron.hourly
mkdir /opt/etc/cron.daily
mkdir /opt/etc/cron.weekly
mkdir /opt/etc/cron.monthly
cat > crontab
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
# Syntax for lines is : minute hour day month dayofweek command
#
*/5 * * * * admin run-parts /opt/etc/cron.5mins
0 * * * * admin run-parts /opt/etc/cron.hourly
59 23 * * * admin run-parts /opt/etc/cron.daily
0 0 * * 0 admin run-parts /opt/etc/cron.weekly
0 0 1 * * admin run-parts /opt/etc/cron.monthly
нажать control-D
cat > /opt/bin/run-parts
#!/bin/sh
#
# runparts.sh by macsat@macsat.com
# intended for use with cron
#
# based on rc.unslung by unslung guys :-)
#
if [ -z "$1" ]
then
echo "Usage : $0 "
fi

RUNDIR=$1"/*"

for i in $RUNDIR ;do

# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue

case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
done
нажать control-D
chmod +x /opt/bin/run-parts

а дальше собственно опять тестировать, для чего можно прописать вышеобсужденный скрипт не в daily а в 5mins

lexass
14-04-2007, 15:15
это ВСЕ я уже сделал!!!
т.е. cron.daily
просто перетащить в Z:\opt\etc\cron.5mins\

и ждать???

al37919
14-04-2007, 15:23
ну вообще то крон еще и запустить надо. Он запускается скриптом /opt/etc/init.d/S10cron или перезагрузкой. Далее за его жизнедеятельностью можно наблюдать в /tmp/syslog.log

lexass
14-04-2007, 15:45
[admin@WL-500g root]$ top Mem: 16340K used, 13776K free, 0K shrd, 2084K buff, 6704K cached
Load average: 0.12, 0.05, 0.02 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
155 admin R 436 146 2.8 1.4 top
141 admin S 1136 1 0.0 3.7 smbd
139 admin S 1096 1 0.0 3.6 nmbd
107 admin S 748 1 0.0 2.4 pppd
1 admin S 684 0 0.0 2.2 init
146 admin S 556 60 0.0 1.8 sh
76 admin S 532 1 0.0 1.7 nas
131 admin S 492 1 0.0 1.6 upnp
110 admin S 484 1 0.0 1.6 watchdog
112 admin S 460 107 0.0 1.5 sh
74 nobody S 436 1 0.0 1.4 dnsmasq
122 admin S 428 1 0.0 1.4 pptp
113 admin S 412 112 0.0 1.3 pptp
137 admin S 412 1 0.0 1.3 stupid-ftpd
71 admin S 400 1 0.0 1.3 syslogd
65 admin S 376 1 0.0 1.2 httpd
70 admin S 368 1 0.0 1.2 klogd
105 admin S 356 1 0.0 1.1 igmpproxy
94 admin S 344 1 0.0 1.1 rcamdmain
115 admin S 340 110 0.0 1.1 ntp
[admin@WL-500g root]$ /tmp/syslog.log
-sh: /tmp/syslog.log: Permission denied

какой проц. отвечает за КРОН, что-то думаю нет его...
как вааще он живет - загадка!?!



после : /opt/etc/init.d/S10cron

появляется
184 admin S 360 1 0.0 1.1 cron

а как его автоматом запустить???

прошло досаточно время
в Z:\ftp_pub\backup ничего нет!

al37919
14-04-2007, 17:20
в том что возвращает top cron не видно, т.е. он не запущен. Кстати, более подходящая комманда для просмотра запущенных процессов --- ps . Но в данном случае ничего не изменится.


после : /opt/etc/init.d/S10cron
появляется
184 admin S 360 1 0.0 1.1 cron

вот теперь он действительно запущен.

То что находится в директории /opt/etc/init.d и начинается с заглавной буквы S будет запущено автоматом при перезагрузке (точнее это запускает /opt/etc/init.d/rc.unslung, который должен быть прописан в /usr/local/sbin/post-boot).


[admin@WL-500g root]$ /tmp/syslog.log
-sh: /tmp/syslog.log: Permission denied

/tmp/syslog.log --- это обычный текстовой файл, за состоянием которого можно наблюдать, скажем путем tail -f /tmp/syslog.log

кстати, по ходу,
в ручном режиме это: ... работает на ура

интересует больше не ручной режим, а выполняемость файла, содержащего


#! /bin/sh
mkdir /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`
cp /tmp/harddisk/ftp_pub/xz/* /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`

lexass
14-04-2007, 18:10
в /usr/local/sbin/post-boot ПУСТО!!!
ЗЫ
еще рекомендации....

al37919
14-04-2007, 19:12
в /usr/local/sbin/post-boot ПУСТО!!!
нда, тяжелый случай. Лично я, при первоначальной уcтановке пользовался этой инструкцией (правда опять космополитичной :( ): http://wl500g.info/showthread.php?t=5909

Чтобы облегчить жизнь себе и, может быть, Вам приведу свой /usr/local/sbin/post-boot


root@wl500g,/opt/etc> cat /usr/local/sbin/post-boot
#!/bin/sh

#ssh daemon
dropbear

# test if USB disc has been attached
# if not - then insert needed modules
if [ ! -d /dev/discs ]
then
insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 2s
else
umount /tmp/harddisk && sleep 2s
fi

# disable hotplug
echo > /proc/sys/kernel/hotplug

#Wait for /opt to mount
mount /dev/discs/disc0/part2 /opt
#mount /dev/discs/disc0/part1 /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

# enable hotplug
echo /sbin/hotplug > /proc/sys/kernel/hotplug

# Activate swap
swapon /dev/discs/disc0/part1

#mount procfs and devfs for chrooted debian
#[ -c /opt/debian/etc/rc.asus ] && chroot /opt/debian /etc/rc.asus && sleep 2s
mount -t proc proc /opt/debian/proc
mount -t devfs devfs /opt/debian/dev
mount -t ext3 /dev/discs/disc0/part2 /opt/debian/opt
sleep 2s

# Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung



Тут есть много лишнего, скажем так, лишнее все кроме того, что Вам нужно.

dropbear --- это демон ssh

далее при заглушенном stupid-ftpd необхдимо загрузить модули, которые позволят использовать usb носитель:

if [ ! -d /dev/discs ]
then
insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 2s
fi

hotplug --- это мое изобретение и, скорее всего оно не нужно совсем ни здесь ни дальше
# disable hotplug
echo > /proc/sys/kernel/hotplug

Далее идет монтирование жесткого usb-диска
#Wait for /opt to mount
mount /dev/discs/disc0/part2 /opt
#mount /dev/discs/disc0/part1 /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

опять скорее всего лишнее:
# enable hotplug
echo /sbin/hotplug > /proc/sys/kernel/hotplug

активация свопа
swapon /dev/discs/disc0/part1

это к делу вообще не относится.
#mount procfs and devfs for chrooted debian
#[ -c /opt/debian/etc/rc.asus ] && chroot /opt/debian /etc/rc.asus && sleep 2s
mount -t proc proc /opt/debian/proc
mount -t devfs devfs /opt/debian/dev
mount -t ext3 /dev/discs/disc0/part2 /opt/debian/opt
sleep 2s

Ну и наконец --- автозапуск того, что лежит в директории /opt/etc/init.d и начинается с S
# Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung

И в заключение совсем нескромный вопрос --- у Вас какая прошивка стоит --- олег или асус?

lexass
14-04-2007, 19:27
можно лишнее убрать и оставить нужное?!

паршивка 1.9.2.7-7g

в /usr/local/sbin/post-boot ПУСТО!!!

al37919
14-04-2007, 19:29
#!/bin/sh
/opt/etc/init.d/rc.unslung

lexass
14-04-2007, 19:41
#!/bin/sh
/opt/etc/init.d/rc.unslung
это в post-boot

???

после flashfs save && flashfs commit && flashfs enable && reboot

нету в процессах cron

появляется только после /opt/etc/init.d/S10cron

ЗЫ
сАвсем запутался....:(

al37919
14-04-2007, 20:07
да , это /usr/local/sbin/post-boot
кроме того его надо сделать выполняемым:
chmod 755 /usr/local/sbin/post-boot

flashfs ... --- абсолютно корректно.

все обсуждаемые действия проводятся под рутом?

проверить выполнение post-boot вручную.

lexass
14-04-2007, 20:31
chmod 755 /usr/local/sbin/post-boot
flashfs save && flashfs commit && flashfs enable && reboot

впроцессах :
[admin@WL-500g root]$ top
КРОНА нет...:(


проверить выполнение post-boot вручную.
поподробней ПЛЗ

после /opt/etc/init.d/rc.unslung
КРОН в процессах есть...


ЗЫ
из папки xz после копирования, надо все убить...

al37919
14-04-2007, 20:48
поподробней ПЛЗ
вообще то /usr/local/sbin/post-boot тоже должен выполняться с результатом эквивалентным с rc.unslung

Я что то тоже начал терять нить... Если в /usr/local/sbin/post-boot у Вас почти пусто (т.е. только rc.unslung), то где производится монтирование внешнего носителя в /opt ? Автоматом он должен монтироваться вроде только в /tmp/harddisk.

Пожалуйста покажите вывод комманды df

lexass
14-04-2007, 21:04
там и есть...

[admin@WL-500g root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 2880 2880 0 100% /
/dev/discs/disc0/part1 153622084 148716 145669796 0% /tmp/harddisk
/dev/discs/disc0/part1 153622084 148716 145669796 0% /opt

al37919
14-04-2007, 21:11
угу, смонтировано вроде как раз то что надо...

тогда я ни хера не понимаю. Две цитаты взаимоисключающие:

там и есть...

в /usr/local/sbin/post-boot ПУСТО!!!

lexass
14-04-2007, 21:20
и я про то же
в nano /usr/local/sbin/post-boot

уже давно добавил:
#!/bin/sh
/opt/etc/init.d/rc.unslung

это едиственная там запись...

что Ыще сделать?????

после flashfs save && flashfs commit && flashfs enable && reboot

КРОН в процессах отсутсвует, нах....

после /opt/etc/init.d/rc.unslung (ручками)
появляется...

al37919
14-04-2007, 21:31
ОК, стоп, возможно я виноват. У Вас внешний носитель смонтирвован в /opt автоматом? Если да, то забыли про предыдущий пост. У меня ситуевина была немного другая.

Начнем сначала. Если /opt успешно смонтирован, то в виде программы-минимум мы действительно желаем от post-boot только запуск rc.unslung

Вернемся немного взад. /usr/local/sbin/post-boot выполняемый вручную запускается успешно? Т.е. из перезагруженного состояния в результате должен быть запущен cron

lexass
14-04-2007, 21:40
поторюсь

reboot

[admin@WL-500g root]$ top
Mem: 16340K used, 13776K free, 0K shrd, 2084K buff, 6708K cached
Load average: 0.14, 0.04, 0.01 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
155 admin R 436 145 2.8 1.4 top
113 admin S 416 112 1.9 1.3 pptp
142 admin S 1136 1 0.0 3.7 smbd
140 admin S 1104 1 0.0 3.6 nmbd
107 admin S 748 1 0.0 2.4 pppd
1 admin S 684 0 0.0 2.2 init
145 admin S 556 60 0.0 1.8 sh
74 admin S 532 1 0.0 1.7 nas
110 admin S 492 1 0.0 1.6 watchdog
151 admin S 492 1 0.0 1.6 upnp
112 admin S 460 107 0.0 1.5 sh
76 nobody S 436 1 0.0 1.4 dnsmasq
123 admin S 428 1 0.0 1.4 pptp
138 admin S 412 1 0.0 1.3 stupid-ftpd
70 admin S 400 1 0.0 1.3 syslogd
65 admin S 376 1 0.0 1.2 httpd
71 admin S 368 1 0.0 1.2 klogd
105 admin S 356 1 0.0 1.1 igmpproxy
94 admin S 344 1 0.0 1.1 rcamdmain
115 admin S 340 110 0.0 1.1 ntp

==================================================

[admin@WL-500g root]$ /opt/etc/init.d/rc.unslung

[admin@WL-500g root]$ top
Mem: 16636K used, 13480K free, 0K shrd, 2128K buff, 6800K cached
Load average: 0.08, 0.04, 0.01 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
162 admin R 436 145 2.8 1.4 top
113 admin S 416 112 0.9 1.3 pptp
142 admin S 1136 1 0.0 3.7 smbd
140 admin S 1104 1 0.0 3.6 nmbd
107 admin S 748 1 0.0 2.4 pppd
1 admin S 684 0 0.0 2.2 init
145 admin S 556 60 0.0 1.8 sh
74 admin S 532 1 0.0 1.7 nas
110 admin S 492 1 0.0 1.6 watchdog
151 admin S 492 1 0.0 1.6 upnp
112 admin S 460 107 0.0 1.5 sh
76 nobody S 436 1 0.0 1.4 dnsmasq
123 admin S 428 1 0.0 1.4 pptp
138 admin S 412 1 0.0 1.3 stupid-ftpd
70 admin S 400 1 0.0 1.3 syslogd
65 admin S 376 1 0.0 1.2 httpd
71 admin S 368 1 0.0 1.2 klogd
161 admin S 360 1 0.0 1.1 cron
105 admin S 356 1 0.0 1.1 igmpproxy
94 admin S 344 1 0.0 1.1 rcamdmain

al37919
14-04-2007, 21:58
то что rc.unslung выполним я вроде уже тоже давно понял. Однако, все таки post-boot сам по себе точно выполняется?

Вообще, по моему пора взять тайм-аут до завтра. :)

lexass
14-04-2007, 22:01
ок, давай подумаем до завтра...
ЗЫ
но после ребута КРОНА нет :mad:


Однако, все таки post-boot сам по себе точно выполняется?
а фиг его знает? как проверить??

al37919
14-04-2007, 22:11
ну так это же обычный шеловский скрипт. Написать в коммандной строке /usr/local/sbin/post-boot и нажать энтер...

lexass
15-04-2007, 14:18
после запуска в ручную /usr/local/sbin/post-boot
в процесссах появляется cron
после ребута, надо запускать по новой...

перегрузился я тут и:
[admin@WL-500g root]$ /usr/local/sbin/post-boot
/opt/etc/init.d/S10cron: kill: 7: (162) - No such process

[admin@WL-500g root]$ /opt/etc/init.d/rc.unslung
/opt/etc/init.d/S10cron: kill: 7: (173) - No such process

[admin@WL-500g root]$ /opt/etc/init.d/S10cron
/opt/etc/init.d/S10cron: kill: 7: (182) - No such process




а права у меня правильные на файлах?:
-rwxr-xr-x 1 admin root 150 Apr 14 15:55 cron.5mins
-rwxr--r-- 1 admin root 150 Apr 14 15:55 cron.daily
-rwx------ 1 admin root 490 Apr 15 12:55 crontab

вроде должно быть так: chmod 755 /opt/etc/cron.daily
-rwxr-xr-x 1 admin root 150 Apr 14 15:55 cron.daily

припопытке запустить /opt/etc/cron.5mins
-sh: /opt/etc/cron.5mins: not found

шаманство какое-то....
отъехал на пару часов, вернулся:
top
159 admin S 356 1 0.0 1.1 cron
сам появился....:eek:

после ребута - отсутствует...

HELP...
предлагаю начать медленно сначала, а то танцы с бубнами КАКИЕ-то...

ЗЫ
не работает!!!:(

лажа какая-то уже сам с собой разговариваю

[admin@WL-500g cron.d]$ /opt/etc/cron.d/backup
-sh: /opt/etc/cron.d/backup: not found

------
ау! есть живые???

al37919
15-04-2007, 17:38
я тоже отъезжал :)

я тоже уже достаточно запутался в ситуации.

Первое. Права.

-rwxr-xr-x 1 admin root 150 Apr 14 15:55 cron.5mins

первый бит должен быть пустой, далее следуют 3 триады rwx Буква означает включено, дефис выключено rwx означает чтение/запись/выполнение. Первая триада --- права хозяина т.е. в данном случае admin , вторая триада --- права членов группы (в данном случае root), третья триада --- права всех остальных.

Таким образом, если все операции проводятся под одним и тем же юзером (admin), то достаточно отслеживать только первую триаду.

Логин делается под именем admin?

Второе, исполняемый скрипт должен иметь заголовок, указывающий на коммандный интерпретатор, который будет выполнять. Если это шел-скрипт, то заголовок должен быть #! /bin/sh Причем, этот заголовок должен иметь в конце только LF, но не CR/LF. Иначе при попытке выполнения будет выдана ошибка. Этой проблемы вроде у Вас не наблюдается.

Третье,

159 admin S 356 1 0.0 1.1 cron
сам появился...

сам появиться он не мог. Значит он был запущен. На моей системе после перезагрузки запускается довольно много процессов из /opt/etc/init.d Так что полный список задач в памяти имеется через 1-2 минуты после запуска. Другого я предполжить не могу, т.к. само ничего не делается.

Четвертое, есть такая штука как системный лог. Его можно анализировать на предмет каких-либо ошибок имеющих отношение к обсуждаемым делам. Просмотр: more /tmp/syslog.log

Пятое, рекомендую для исключения случайностей проверять наличие запущенного cron следующей коммандой: ps | grep cron | grep -v grep

Шестое, поскольку есть сомнения запускается ли /usr/local/sbin/post-boot при перезагрузке, то можно в него добавить строчку, скажем echo "post-boot запущен "`date` >> /tmp/tmp.log причем я бы эту строку положил после заголовка, но перед запуском rc.unslung

lexass
15-04-2007, 18:26
и так, по порядку:
\opt\etc\crontab
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:/opt/etc
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
# Syntax for lines is : minute hour day month dayofweek command #
*/5 * * * * admin run-parts /opt/etc/cron.5mins
0 * * * * admin run-parts /opt/etc/cron.hourly
59 23 * * * admin run-parts /opt/etc/cron.d
0 0 * * 0 admin run-parts /opt/etc/cron.weekly
0 0 1 * * admin run-parts /opt/etc/cron.monthly

\opt\etc\cron.5mins\backup
#! /bin/sh

date >> /tmp/harddisk/ftp_pub/crontest.txt
mkdir /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`
cp /tmp/harddisk/ftp_pub/xz/* /tmp/harddisk/ftp_pub/backup/`date -u +%d_%m_%Y`
rm /tmp/harddisk/ftp_pub/xz/*

/usr/local/sbin/post-boot

#!/bin/sh

echo "post-boot запущен "`date` >> /tmp/tmp.log

echo "post-boot запущен "`date` >> /opt/etc/tmp.log

/opt/etc/init.d/rc.unslung


-----------------------------------------------

после ребута:
ps | grep cron | grep -v grep
пусто

/tmp/tmp.log
post-boot запущен Thu Jan 1 03:00:07 MSK 1970


/opt/etc/tmp.log
отсутствует

-----------------------------------------------
[admin@WL-500g /tmp]$ more /tmp/syslog.log
Jan 1 03:00:02 syslogd started: BusyBox v1.1.3
Jan 1 03:00:02 kernel: klogd started: BusyBox v1.1.3 (2007.01.01-14:37+0000)
Jan 1 03:00:02 kernel: cpu probe
Jan 1 03:00:02 kernel: prom init
Jan 1 03:00:02 kernel: cpu report
Jan 1 03:00:02 kernel: CPU revision is: 00029006
Jan 1 03:00:02 kernel: Primary instruction cache 16kb, linesize 16 bytes (2 ways)
Jan 1 03:00:02 kernel: Primary data cache 16kb, linesize 16 bytes (2 ways)
Jan 1 03:00:02 kernel: Linux version 2.4.20 (root@omnibook) (gcc version 3.2.3 with Broadcom modifications) #75 Fri Apr 6 00:12:23 MSD 2007
Jan 1 03:00:02 kernel: Setting the PFC value as 0x15
Jan 1 03:00:02 kernel: Determined physical RAM map:
Jan 1 03:00:02 kernel: memory: 02000000 @ 00000000 (usable)
Jan 1 03:00:02 kernel: On node 0 totalpages: 8192
Jan 1 03:00:02 kernel: zone(0): 8192 pages.
Jan 1 03:00:02 kernel: zone(1): 0 pages.
Jan 1 03:00:02 kernel: zone(2): 0 pages.
Jan 1 03:00:02 kernel: Kernel command line: root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0,115200
Jan 1 03:00:02 kernel: CPU: BCM4704 rev 9 at 264 MHz
Jan 1 03:00:02 kernel: Calibrating delay loop... 263.78 BogoMIPS

-----------------------------------------------

что будем делать далее???

al37919
15-04-2007, 21:39
[admin@WL-500g cron.d]$ /opt/etc/cron.d/backup
-sh: /opt/etc/cron.d/backup: not found

эта ошибка возникает скорее всего из-за неправильного символа конца строки в сигнатуре файла (первая строка) (см. предыдущий пост). Рекомендую открыть файл в редакторе (vi или nano) перейти в конец первой строки нажать enter пару раз и сохранить результат. В принципе есть утилита dos2unix но я ее что-то у себя не наблюдаю.

more /tmp/syslog.log --- то что показано это только первая страница лога. Их там много. То что может интересовать нас должно быть ближе к концу. Листать пробелом и энтером.

post-boot у нас запускается успешно. Почему не запускается cron --- хз

В принципе можно продолжить идти по цепочке добавляя echo ... последовательно во все файлы.

Последовательность запуска такая post-boot - rc.unslung - S10cron

imdex
16-04-2007, 08:51
А зачем стартовать rc.unslung? Я из post-boot запускаю конкретно крон и самбу, неужели всем нужно всё, что с S?

al37919
16-04-2007, 10:21
исходно в /opt/etc/init.d пусто. По мере установки приложений туда добавляются их скрипты автозапуска при загрузке системы. Так что ничего лишнего там быть не должно, только то, что Вы сами поставили. Это стандартный путь. Чтобы подизейблить какой-нибудь загрузчик в init.d достаточно сменить первую заглавную S на s и все.

В принципе, работать будет и простой запуск из post-boot.

lexass
16-04-2007, 14:30
/usr/local/sbin/post-boot

#!/bin/sh

echo "post-boot запущен "`date` >> /tmp/tmp.log

echo "post-boot запущен "`date` >> /opt/etc/tmp.log

/opt/etc/init.d/rc.unslung

имее 2- строки записи...
в /tmp/tmp.log пишет (это на роутере получается?),
а в
/opt/etc/tmp.log НЕТ... (это на харде)


/opt/etc/init.d/rc.unslung в ручную запускается!!!

al37919
16-04-2007, 15:19
Тогда кажись я понял. При загрузке винт не успел смонтироваться, а команда на выполнение еще недоступного rc.unslung уже дана.

Значит вернемся к длинному варианту post-boot, который я предлагал выше. Минимальный набор должен выглядеть вроде вот так.


#! /bin/sh

# test if USB disc has been attached
# if not - then insert needed modules
if [ ! -d /dev/discs ]
then
insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 2s
fi

#Wait for /opt to mount
mount /dev/discs/disc0/part1 /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

# Run all active services - active means those whose name starts with S
/opt/etc/init.d/rc.unslung

А вобще, насчет того каким должен быть post-boot наверное надо бы почитать в теме про настройку wl500g с нуля. Да и начинать, наверное, надо было с этого.

P.S. /tmp сидит в ОЗУ, в /opt смонтирован винчестер

lexass
16-04-2007, 15:33
P.S. /tmp сидит в ОЗУ, в /opt смонтирован винчестер

дык я специально две записи в лог сделал... (намекал по всякому :) )

ща попробую...

а теперь чтоб на диск (из ВИНДЫ) попасть, САМБУ чтоль настраивать?
хотел пережить без нее...

al37919
16-04-2007, 15:54
еще можно через ftp (я так понимаю ftp сервер там стоять будет)

lexass
16-04-2007, 16:23
теперь нано не запускается, ничего не отредактировать,
через ШАРЕ и ФТП не попасть...:eek:

opt/opt/ect/ - стало...

ftp - под вопросом, но с родным роутерным работало...


подохреваю, что проблема в этом:

[admin@WL-500g root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 2880 2880 0 100% /
/dev/discs/disc0/part1 153622084 148720 145669792 0% /opt

а было автоматом:
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 2880 2880 0 100% /
/dev/discs/disc0/part1 153622084 148716 145669796 0% /tmp/harddisk
/dev/discs/disc0/part1 153622084 148716 145669796 0% /opt

al37919
16-04-2007, 16:38
ну если дело в отсутствии /tmp/harddisk , то почему бы не смонтировать его вручную (или в post-boot):
mount /dev/discs/disc0/part1 /tmp/harddisk
для stupid-ftpd этот маунт пойнт по моему нужен

lexass
16-04-2007, 16:50
то почему бы не смонтировать его вручную
монтирую в ручную, но доступ не появляется... млин...


[admin@WL-500g root]$ mount /dev/discs/disc0/part1 /tmp/harddisk [admin@WL-500g root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 2880 2880 0 100% /
/dev/discs/disc0/part1 153622084 148720 145669792 0% /opt
/dev/discs/disc0/part1 153622084 148720 145669792 0% /tmp/harddisk

единственное отличе от того, что было ранее :
/dev/root 2880 2880 0 100% /
/dev/discs/disc0/part1 153622084 148716 145669796 0% /tmp/harddisk
/dev/discs/disc0/part1 153622084 148716 145669796 0% /opt

/tmp/harddisk
и
/opt
перепутаны местами, но думаю дело не в этом... :confused:

al37919
16-04-2007, 17:04
а если в post-boot попробовать так:


#! /bin/sh

sleep 5s

# Run all active services - active means those whose name starts with S
/opt/etc/init.d/rc.unslung

чтобы это работало ftp через web-интерфейс должен быть включен. Может прокатит?

lexass
16-04-2007, 17:08
в вебФайсе Enable FTP Server? ДА

post-boot как теперь отредактировать?
нано не работает (перестал)

al37919
16-04-2007, 17:10
ну vi то должен работать
а как насчет /opt/bin/nano ?

lexass
16-04-2007, 17:22
убил rm /usr/local/sbin/post-boot

flashfs save && flashfs commit && flashfs enable && reboot

теперь все стало как раньше
nano /usr/local/sbin/post-boot
вставил туда
#! /bin/sh

sleep 5s

# Run all active services - active means those whose name starts with S
/opt/etc/init.d/rc.unslung
chmod +x /usr/local/sbin/post-boot
flashfs save && flashfs commit && flashfs enable && reboot

КРОНА нет...

запускаю вручную /opt/etc/init.d/rc.unslung
КРОН есть

поставил 15 сек., все нормально КРОН появляется...
можно двигаться дальше, к его успешной работе.

принимаю советы

Jan 1 03:00:23 /opt/sbin/cron[150]: (CRON) STARTUP (V5.0)
Jan 1 03:00:23 /opt/sbin/cron[150]: (*system*) BAD FILE MODE (/opt/etc/crontab)
Jan 1 03:00:23 /opt/sbin/cron[150]: (*system*) BAD FILE MODE (/opt/etc/cron.d/backup)

у crontab
какие права должны быть?

al37919
16-04-2007, 20:11
какие должны быть --- не знаю. У меня 600

lexass
16-04-2007, 20:50
не знаю. У меня 600
-rwx------ 1 admin root crontab
или
-rw-------
?

al37919
16-04-2007, 21:49
chmod 600 crontab

lexass
16-04-2007, 22:56
вообщем крон не работает :(

al37919
16-04-2007, 23:12
Батенька, уж извините ежели чего не так, но могу дать совет на очень многие случаи жизни. Вверху окна есть кнопка поиск по конференции. Еще выше у меня есть кнопка поиска в гугле. Вы же не первый, у кого такие пробемы возникают. Я конечно могу и дальше продолжать искать ответы для Вас, но может Вы и сами приложите немного усилий?

lexass
16-04-2007, 23:18
прикладываю, ищу - не выходит каменный цветочек :confused:

в логе есть записи:
Apr 17 02:00:01 /opt/sbin/cron[246]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 17 02:05:01 /opt/sbin/cron[250]: (admin) CMD (run-parts /opt/etc/cron.5mins)
толко действий невижу...

al37919
17-04-2007, 04:35
Запись означает, что cron замечательно работает.
Далее надо проверять лежит ли backup в /opt/etc/cron.5mins и запускается ли он путем run-parts /opt/etc/cron.5mins

lexass
17-04-2007, 17:05
Apr 17 19:45:01 /opt/sbin/cron[177]: (admin) CMD (run-parts /opt/etc/cron.5mins)

только ничего не происходит:(


[admin@WL-500g cron.hourly]$ /opt/etc/cron.5mins/backup
/bin/sh: Can't open


на грани бреда.
---------------------------------------------
из backup
date >> /tmp/crontest.txt
date >> /tmp/harddisk/ftp_pub/crontest.txt
запись не происходит

в crontab
SHELL=
PATH=
за что эти строчки отвечают?

имеет ли смысл сюда */5 * * * * admin run-parts /opt/etc/cron.5mins
дописать /file_name

по логике должно выполнятся ВСЕ, что там лежит

al37919
17-04-2007, 18:42
в crontab
SHELL=
PATH=
за что эти строчки отвечают?

полагаю, про это должно быть написано в
man 5 crontab


имеет ли смысл сюда */5 * * * * admin run-parts /opt/etc/cron.5mins
дописать /file_name

можно попробовать записать просто
*/5 * * * * admin /путь/файл
некоторые утверждают, что это работает.

lexass
17-04-2007, 18:56
*/5 * * * * admin /путь/файл
некоторые утверждают, что это работает.

прбывал, раницы нет

allguimd
18-04-2007, 09:44
Попробуй:

1: создать файл типа


#!/bin/sh
/bin/touch /tmp/cron_test


Положи его в /opt/etc/cron.5mins, если соответствующий файл появится, значит cron таки точно работает и проблема только в скрипте бэкапа, и тогда:

2: прописать в скрипте бэкапа пути:


#!/bin/sh

/bin/mkdir `/bin/date -u +%d_%m_%Y`
/bin/cp /tmp/harddisk/ftp_pub/xz/* /tmp/harddisk/ftp_pub/backup/`/bin/date -u +%d_%m_%Y`


Если же файл /tmp/cron_test не появился, значит дело в файле crontab - скорее всего там лишний символ досовского перевода строки.

lexass
18-04-2007, 16:58
/tmp/cron_test
непоявляется...

поставил аж по два перноса

в логе живет:
Apr 18 19:15:01 /opt/sbin/cron[188]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:18:45 syslog: Warn: MRT_DEL_MFC; Errno(2): No such file or directory
Apr 18 19:20:01 /opt/sbin/cron[191]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:24:54 kernel: vlan1: add 01:00:5e:7f:ff:fa mcast address to master interface
Apr 18 19:25:01 /opt/sbin/cron[194]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:30:01 /opt/sbin/cron[197]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:31:15 kernel: vlan1: del 01:00:5e:7f:ff:fa mcast address from master interface
Apr 18 19:35:01 /opt/sbin/cron[200]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:37:22 kernel: vlan1: add 01:00:5e:7f:ff:fa mcast address to master interface
Apr 18 19:40:01 /opt/sbin/cron[203]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:45:01 /opt/sbin/cron[206]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:50:01 /opt/sbin/cron[209]: (admin) CMD (run-parts /opt/etc/cron.5mins)
Apr 18 19:54:10 kernel: vlan1: del 01:00:5e:7f:ff:fa mcast address from master interface
Apr 18 19:55:01 /opt/sbin/cron[212]: (admin) CMD (run-parts /opt/etc/cron.5mins

al37919
18-04-2007, 17:56
к сожалению содержимое лога не имеет отношения к интересующей проблеме. Можно только уверенно утверждать, что крон работает.

lexass
19-04-2007, 15:04
к сожалению содержимое лога не имеет отношения к интересующей проблеме. Можно только уверенно утверждать, что крон работает.

крон ДА
скрипт НЕТ:(

al37919
19-04-2007, 15:24
Если вернуться к ранее высказаной гипотезе, насчет неправильных символов конца строки (это достаточно коварная тема, и то, что я писал выше, насчет простого ввода символа конца строки в редакторе на роутере, не факт, что работает). dos2unix имеется в busybox, который устанавливается вручную из optware (busybox-base + busybox-links). Можно попробовать прогнать через нее crontab и, вообще, все на что падает подозрение.

Dmitry
20-04-2007, 10:39
Если вернуться к ранее высказаной гипотезе, насчет неправильных символов конца строки (это достаточно коварная тема, и то, что я писал выше, насчет простого ввода символа конца строки в редакторе на роутере, не факт, что работает). dos2unix имеется в busybox, который устанавливается вручную из optware (busybox-base + busybox-links). Можно попробовать прогнать через нее crontab и, вообще, все на что падает подозрение.
dos2unix перекодирует Русские символы из dos-кодировки в iso-8859-5
Убрать ненавистные символы можно так

cat filename | tr -d "\r" > filename.new; mv -f filename.new filename

KRandall
20-04-2007, 10:53
Вот еще варианты (http://wl500g.info/showpost.php?p=52803&postcount=4), как избавиться от символа CR

al37919
20-04-2007, 11:04
dos2unix перекодирует Русские символы из dos-кодировки в iso-8859-5
не только, EOL он тоже правит :)

Vofik
14-02-2008, 15:13
Я думаю все здесь сталкивались с такой проблемой - что-нибуть не то сделал (неправильная команда, глюк, файловая система повреждена), и приходиться всё сначала устанавливать.
Чтобы этого не произошло - делаем полный Backup!
1) Настойки веб-морды
можно сделать бэкап nvram
cat /dev/mtd/3 > /opt/mynvram.bin
и забрать этот бэкап по ftp, WinSCP (www.winscp.net есть даже плагин для Far Manager) или SAMBA.
если захочется восстановить
flash /opt/mynvram.bin /dev/mtd/3(опасно, так как мало ли есть баг именно в этой прошивке и он запортит флэш)
содержимое этого бэкапа такое же, как при сохранении через веб-интерфейс в текстовом виде System Setup-> Setting Management->HERE
2) FlashFS
http://192.168.1.1/
System Setup -> Flashfs Management
3) Хард (или флешка)
Вот про это я и хочу спросить! Как его делать? (желательно сжатие в архив)???

Lupo_Alberto
14-02-2008, 18:55
3)
В консоли роутера
cd /opt # Директория, которую собираемся архивировать
tar -cjf /path/to/backup_dir/opt_backup.tar.bz2 . # Путь и имя создаваемого архива, точка в конце команды обязательна!
Лучше конечно, отключить диск от роутера и подключить к компьютеру, будет гораздо быстрее.
P. S. Как сделать это под windows не знаю :( , у меня Linux :)

Vofik
14-02-2008, 18:59
А востанавливать то как?:D я так понимаю, разархивирование???
Команду не дате ли?;)

Lupo_Alberto
14-02-2008, 19:12
Перейти в каталог с архивом
cd ARCHIVE_DIR
Команда для разархивирования
tar -xf opt_backup.tar.bz2 -C /opt
P.S. Команду для архивирования лучше давать так:
tar -cjpf ......

angel_il
14-02-2008, 20:51
архивировать /opt на мой взгляд глупо, максимум что надо архивировать из опта это etc. остальное проще переустановить . чтобы узнать что именно переустанавливать надо сохранить список установленного

ipkg list_installed
можно автоматизировать этот процесс с помощью скрипта.

djet
14-02-2008, 21:26
HOWTO: установка rsnapshot - утилита резервного копирования на базе rsync - AsusForum.NET -- WL500g (http://wl500g.info/showthread.php?t=11239&highlight=rsnapshot)

Lupo_Alberto
15-02-2008, 07:54
архивировать /opt на мой взгляд глупо, максимум что надо архивировать из опта это etc. остальное проще переустановить . чтобы узнать что именно переустанавливать надо сохранить список установленного

ipkg list_installed
можно автоматизировать этот процесс с помощью скрипта.
/opt указан просто для примера, что архивировать каждый решает сам :)

Zein
05-11-2008, 17:57
В жизни каждого владельца роутера Асус серии wl500 наступает момент, когда все начинает работать так, как надо. И чем дольше пришлось танцевать с бубном до этого, тем слаще этот миг. Естественно, его (миг) хочется продлить, для чего зело мудрые в линуксе владельцы пишут хитрые скрипты автоматической установки на случай краха системы, а владельцы не зело мудрые (к коим я и отношусь) думают о бэкапе.
В этой связи прошу специалистов по архитектуре нашего роутера рассказать, где и в каком виде хранятся все настройки.

Важное замечание:
Про пункты Settings Managnment и Flashfs Managment я знаю. Но это ведь далеко не все. Есть еще системная флэшка, в случае отказа которой все идет прахом, есть некий пока непонятный для меня nvram (кстати, что это такое?).

Для себя я решил проблему бэкапа так:
- на ББ сохранены настройки
- там же сохранен флэш
- парагон диск бэкап (он умеет работать с ext3) сделал мне образ флэшки (без компрессии и ужимания пустых секторов)

Вот теперь сижу и думаю, достаточно ли соломки постелено? А ронять систему, чтобы накатить бэкап и понять, что чего-то не хватает, не хочется :)

В общем, прошу гуру высказываться...

DfDf
06-11-2008, 00:08
nvram - non-volatile ram. часть флэшки, отведенная для хранения настроек )

Мне кажется, столько соломки для маленького девайса я еще не наблюдал ))) Надо только посмотреть, что именно сохраняет Flashfs Managment ) в смысле - все ли. хотя если он не тащит nvram, то есть Settings Managnment.

svk4286
06-11-2008, 06:10
После перепрошивки и восстановления Flashfs и Settings у меня все настройки полностью восстановились.А бэкап флехи страхует установленные вами программы,скрипты и закаченные файлы.Так что не волнуйтесь.

bbsc
06-11-2008, 07:05
Zein, по-моему, постелено достаточно :D
Только момент, когда все начинает работать так, как надо в жизни владельца роутера Асус серии wl500 не наступает никогда.
Ибо настоящий владелец роутера Асус постоянно что-то добавляет и усовершенствует.
Ибо это закон диалектити.
Ибо движение - есть жизнь :)

Zein
06-11-2008, 19:29
Ибо настоящий владелец роутера Асус постоянно что-то добавляет и усовершенствует.
Ибо это закон диалектити.
Ибо движение - есть жизнь :)

Согласен.
Только у меня ступенчато происходит: прокачал рутер, потом надо прокачивать голову на предмет знания линуха для перехода на другой уровень :)

Всем спасибо за одобрение моей соломки :):):)

Vacheslav
23-01-2009, 19:23
В связи с переездом с одной флешки на другую возникла идея - сделать бэкап со старой и восстановить его на новой, тогда не пропадут ночи, потраченные на установку :)
Был написан скрипт mar.sh:

#!/bin/sh
tar -cvzf /opt/share/myarchive.tar.gz / -X /opt/share/mar.exclude


И к нему написан файл исключений. Файл исключений нужен для того, что бы не копировать в бэкап кучу ерунды на самбе и фтп. К тому же, случайно не начать копировать файл бэкапа в себя... Вот оно mar.exclude:

/opt/share/*
/tmp/mnt/disc0_1/opt/share/*


Естественно, можно было бы путь указывать через переменную, но... лениво стало :)

Собственно, выкладываю творение в надежде, что кто-нибудь подправит, ибо есть один косячок. Скрипт отрабатывает, а в конце пишет ошибку. Хотя файл архива создается. И он не битый.

P.S. где-то на форуме кто-то просил подобный скрипт, но что-то как-то не нашлось где и кто...
P.P.S. Забавно, что для мастер-цели скрипт не пригодился - переезд на другую флешку отменился :)

Rucha
25-01-2009, 09:03
А не проще ли забекапить флешку на компе с помощью, например, акрониса и восстановить на другую флешку?

Vacheslav
25-01-2009, 09:41
Можно конечно, но:
1) Акронис платная программка.
2) Все что нужно для бэкапа есть во фришных пакетах.

Зачем пиратить, когда можно наваять скрипт?

al37919
25-01-2009, 11:38
tar в конце выдает ошибку типа:
tar: Error exit delayed from previous errors
когда в процессе архивирования встретилась некритичная ошибка. Например, отсутствует файл/путь, указанный в mar.exclude или проблема с правами. Причем, в момент нахождения ошибки также она выводится. В общем, чтобы разобраться надо проскролить или прогрепить вывод tar на предмет ошибок в процессе.

Vacheslav
26-01-2009, 18:29
Поправил файл исключений:

/opt/share/*
/tmp/mnt/disc0_1/opt/share/*
/proc/*


Ошибки такие стали:
[root@MY sbin]$ ./arch_all.sh
Removing leading `/' from member names
Removing leading `/' from hard link targets
/dev/log: socket ignored
/tmp/var/run/pptp/255.255.255.255\:192.168.192.168: socket ignored
[root@MY sbin]$


/proc выкинул потому что: 1) очень много ошибок тар на нем выкидывал и 2) не очень понимаю что в нем такого, что требует архивирования. Прав?
Что интересно, если архивировать с /proc, то примерно 90 мегов получается. Без - чуть более 70.

al37919
26-01-2009, 19:49
вообще, Вам следовало бы разобраться что куда смонтировано. Архивировать / --- бесполезно, ибо / есть по жизни только для чтения. Если желаемый раздел смонтирован в /opt --- то его и надо сохранять.

Vacheslav
26-01-2009, 20:15
Не все так просто - без оглядки опт архивировать не очень умно - это же флешка с самбой и фтп... Для этого и сделан файл исключений...
Но Ваша идея о том, что корень только для чтения верна - его и правда не стоит бэкапить. Спасибо :)

vlebedev
27-01-2009, 12:13
а не проще средствами рутера с одной флешки содержимое opt скопировать на другую и выключив рутер -- переставить?
я переезжал так с флешки на винт, счас думаю вернуть обратно на флешку /opt таким же образом.
ну разумеется я про /opt без монтированной остальной части флешки

fundorin
15-05-2009, 00:38
напишите пожалуйста инструкцию, как сделать бэкап информации на роутере.
прошивка последня от Олега. подключен внешний диск с тремя разделами (500M swap, 1024M /opt, остальное под файлы). хотелось бы иметь возможность бэкапить все настройки и программы роутера либо на последний раздел подключенного диска, либо на компьютер, на случай, если вдруг произойдёт какой-то сбой. спасибо.

al37919
15-05-2009, 05:30
тема поднималась многократно. Ищите.

razor
17-05-2009, 10:22
сори, но я тоже не нашел :(
если у кого на виду - киньте плиз.

vectorm
17-05-2009, 12:27
1. В веб морде сохранить конфиг и flashfs - надеюсь найдете.
2. Обычным Никсовым методом (например dd слить в архив образ раздела /opt
Все.
Восстановление:
1. Сбросить в дефолт.
2. Восстановить раздел /opt из архива.
3. Залить обратно настройки.
3а. Возможно потребуется сделать на роутере flashfs enabled со стандартным сохранением и ребутом.

razor
17-05-2009, 14:52
1. В веб морде сохранить конфиг и flashfs - надеюсь найдете.
2. Обычным Никсовым методом (например dd слить в архив образ раздела /opt
Все.
Восстановление:
1. Сбросить в дефолт.
2. Восстановить раздел /opt из архива.
3. Залить обратно настройки.
3а. Возможно потребуется сделать на роутере flashfs enabled со стандартным сохранением и ребутом.

спасибо за ответ.
но я грешным делом пробовал несколько дней назад на 10а прошивку влезть, все посохранял ессесно (настройки и флешфс). прошился. глядь - а половину нету. осталось то, что на флешке было и всё (/opt как раз. да и тот перестал автоматом монтировацца) . заливание обратно из бекапа не помогло.
я ж потому и спрашивать стал.

slagoris
27-05-2009, 09:45
Приветствую!
Что есть: роутер ASUS WL-500gP v2, USB-флешка Kingston на 8 ГБ, на роутере достаточными трудами (учитывая малые знания линукса) настроен rtorrent (без вэбморды), все работает стабильно. Бывает что что-то слетает на флешке (может данные повреждаются как-то в результате частых перебоев с электричеством), и приходится снова все ручками восстанавливать, что очень трудоемко.
Что нужно: нужна возможность сделать образ флешки с рабочей конфигурацией, чтобы если что-то случилось просто накатил образ и все заработало.
Я уже пробовал сделать образ программой flashnul – образ сохранился на комп (winXP), но когда все сломалось я залил образ обратно, но видимо как-то не так залилось. Может кто поможет в этом вопросе? софт и дейтсвия....

zerg
28-09-2009, 09:48
Здравствуйте,
Я хочу сделать backup моего wl500gp, с тем чтобы можно восстановить текущее состояние (как Нортон Ghost за PC).
Flash легко скопироват в веб-интерфейс . Проблема в том, что меня также есть раздел жесткого диска, где я поставил ipkg пакетов (смонтированы в / ОПТ)
Пожалуйста, дайте совет, который является самым простым способом full backup/restore.

ceramic
28-09-2009, 12:18
Здравствуйте,
Я хочу сделать backup моего wl500gp, с тем чтобы можно восстановить текущее состояние (как Нортон Ghost за PC).
Flash легко скопироват в веб-интерфейс . Проблема в том, что меня также есть раздел жесткого диска, где я поставил ipkg пакетов (смонтированы в / ОПТ)
Пожалуйста, дайте совет, который является самым простым способом full backup/restore.
Если "сделать backup моего wl500gp" -- то достаточно сохранить настройки и Flashfs в веб-интерфейсе.
На счет /OPT, -- лично я просто архивировал на роутере таром, а потом разархивировал в нужном месте.

kr1sed
17-12-2009, 07:04
Автоматическое резервное копирование блога на WORDPRESS средствами плагина
WordPress Database Backup, ftp клиента lftp и роутера Asus WL-500gP.

Как все мы прекрасно знаем, постоянное резервирование значимых данных просто необходимо, и чем важнее данные, тем важнее backup этих данных.
В этой процедуре есть один существенный недостаток, мешающий регулярному бэкапу - это лень. Избавится от этого нам поможет автоматизация
процесса резервного копирования. В этой статье я расскажу как создать резервную копию файлов и базы данных блога на движке WordPress.
В статье подразумевается, что доступ к файлам блога имеется только по ftp, но с возможностью подключения через TLS/SSL.
Итак, приступим к поставленной задаче.

Автоматическое резервное копирование бызы данных блога на WordPress. Плагин WordPress Database Backup.

Скачка и установка плагина стандартна и подробно останавливаться на ней я не буду. Перейдем непосредственно к настройке плагина.
В панели «инструменты» админки блога выбираем «резервное копирование», попадаем в меню настройки WordPress Database Backup.
Здесь можно отметить дополнительные таблицы которые вы хотите включить в основную резервную копию, а в поле снизу
«Расписание резервного копирования» выбрать время копирования и почтовый ящик, куда эти копии будут отсылаться.
Для этих целей лучше специально создать ящик на gmail.com.

http://bruteforcer.ru/wp-content/uploads/2010/02/WordPress-Database-Backup.jpg

Автоматическое резервное копирование файлов блога WordPress с помощью фтп клиента lftp и роутера Asus WL-500gP.

Для реализации задуманного понадобится альтернативная прошивка для нашего роутера с возможностью доступа
к консоли и установки пакетов программного обеспечения. За прошивкой можно обратиться на форум http://wl500g.info.
На этом ресурсе есть несколько мануалов по прошивке устройства и установки дополнительного ПО.
Чтобы продолжить реализацию нашей затеи у вас должны быть установлены: менеджер пакетов ipkg и cron.

Вообще регулярный бэкап требует ответственного подхода к распределению дискового пространства под это дело.
Как минимум следует выделить отдельный раздел под резервные копии, а лучше отдельный физический диск.
Ни в коем случае не пытайтесь сохранять резервные копии на корневом раздели, потому что, если вдруг
резервирование выйдет из под вашего контроля, вы рискуете полностью заполнить корневой раздел
и «вывести систему из строя».
В своем примере, я воспользуюсь отдельной флешкой, смонтированной под резервные копии.

Подключаемся к консоли роутера и командуем:


# halt
После отработки команды индикатор питания роутера погаснет и вилку сетевого шнура можно извлечь из розетки.
(ничего не мешает вам просто выдернуть вилку, но я стараюсь использовать «щадящий» режим для файловой системы)

Устанавливаем в свободный USB разъем Flash накопитель, либо, если вы используете многофункциональный картридер
- flash карту в свободный разъем считывателя карт. Включаем роутер и подключаемся к консоли.
Смотрим файл устройства нашей флешки и каталог куда она была смонтирована.


# df -h
Путь к файлу устройства у вас должен быть примерно следующий:


/dev/discs/disc0/part3
А точка монтирования примерно такая:


/tmp/mnt/disc0_3
Следующие команды отмонтируют устройство и создадут на нем новую файловую систему ext3:


# umount /tmp/mnt/disc0_3
# mke2fs -j /dev/discs/disc0/part3
Следующим шагом я создам каталог для точки монтирования флешки и пропишу в файл
fstab параметры автоматического монтирования устройства при загрузке роутера.


# mkdir /opt/backup
# nano /etc/fstab
В файл fstab добавляем следующую строку:


/dev/discs/disc0/part3 /opt/backup ext3 rw,noatime 1 1
Сохраняем результат(Жмем ctrl+o, Enter, ctrl+x). Так как файл fstab находится в основной
флеш-памяти устройства, выполняем команды, чтобы закрепить результат.


# flashfs save && flashfs commit && flashfs enable && reboot
После перезагрузки и подключения к консоли следует проверить работоспособность
наших предыдущих действий, выполнив команду:


# df -h
Если точка монтирования нашей флешки /opt/backup, значит все хорошо
и мы переходим к следующему пункту настройки.

Установка lftp и настройка резервного копирования блога.

До установки lftp (если вы хотите соединяться с фтп сервером по протоколу SSL)
вы должны убедиться, что у вас установлен пакет OpenSSL.


# ipkg list_insalled
Если установлен, все хорошо, если нет устанавливаем.


# ipkg update
# ipkg install openssl
Теперь, непосредственно сам клиент фтп:


# ipkg install lftp
Для удобства создадим файл инструкций для клиента:


# touch /opt/backup/ftp_connect
# nano /opt/backup/ftp_connect

set ftp:ssl-allow yes # принудительное использование SSL(очень желательно использовать
set ftp:ssl-auth TLS # если есть поддержка на сервере)
set ftp:ssl-force true #
open login.server.ru # подключение к серверу
user login password #
mirror domains . # директория которую копируем(domains) и куда копируем(.)
exit
В файле пароли к фтп лежат в открытом доступе, что уже не хорошо, поэтому выставляем на него права 400.


# chmod 400 /opt/backup/ftp_connect
А теперь, собственно сам скрипт:


#!/bin/sh
backupdir=/opt/backup
dir=`date +%Y-%m-%d` \

echo "[--------------------------------[`date +%Y-%m-%d`]--------------------------------]" >> /opt/backup/backup.log
echo "[----------][`date +%Y-%m-%d`] Run the backup script..." >> /opt/backup/backup.log
mkdir $backupdir/$dir 2> /dev/null
echo "[----------] Go to a directory with the backup..." >> /opt/backup/backup.log
cd $backupdir/$dir 2> /dev/null
if [[ $? -gt 0 ]];then echo "[----------] Aborted. Not possible Go to a directory ." >> /opt/backup/backup.log
exit 1
fi
echo "[----------] Successfully passed the directory with the backup..." >> /opt/backup/backup.log
echo "[----------] Downloading files..." >> /opt/backup/backup.log
lftp -f $backupdir/ftp_connect > /dev/null 2>&1
if [[ $? -gt 0 ]];then echo "[----------] Aborted. Not possible Downloading files ." >> /opt/backup/backup.log
exit 1
fi
echo "[----------] Successfully Downloading files..." >> /opt/backup/backup.log
echo "[----------] Archiving the downloaded files..." >> /opt/backup/backup.log
tar -zcf $backupdir/`date +%u`.tar.gz $backupdir/$dir 2> /dev/null
if [[ $? -gt 0 ]];then
echo "[----------] Aborted. Not possible to create an archive ." >> /opt/backup/backup.log
exit 1
fi
echo "[----------] Successfully Archiving the downloaded files..." >> /opt/backup/backup.log
echo "[----------] Delete the temporary folder..." >> /opt/backup/backup.log
cd $backupdir
rm -rf $backupdir/$dir 2> /dev/null
if [[ $? -gt 0 ]];then
echo "[----------] Aborted. Not possible Delete the temporary folder ." >> /opt/backup/backup.log
exit 1
fi
echo "[+++++++++-][`date +%Y-%m-%d`] Free HDD space: `df -h $backupdir | tail -n1 | awk '{print $4}'`" >> /opt/backup/backup.log
echo "[++++++++++][`date +%Y-%m-%d`] All operations completed successfully!" >> /opt/backup/backup.log
exit 0
Сохраняем скрипт и делаем его исполняемым:


# chmod +x /opt/backup/script.sh
Теперь скрипт нужно закинуть в задания cron, в зависимости от частоты обновления блога. Например так:


# cp /opt/backup/script.sh /opt/etc/cron.daily/script.sh
Если вы настраивали роутер по мануалам из вышеприведенного форума, где предлагается для удобства
создать папки для скриптов запускаемых cron и настроить сам cron для обработки этих папок, то делаете
так как я написал выше. Если вы этого не сделали, то просто добавьте задание в crontab файл.

По поводу crontab – убедитесь, сто в строке, где прописаны пути для PATH, указан путь /opt/bin.
Если исполнение скрипта назначить на каждый день, то ротация архивов с резервной копией
будет осуществляется за счет того, что ежедневно будут создаваться архивы с номером
текущего дня недели, а каждую следующую неделю архивы будут перезаписываться.

На этом, все! Все предложения по улучшению поставленной задачи приветствуются. Удачи.

http://bruteforcer.ru/index.php/2010/02/01/avtomaticheskoe-rezervnoe-kopirovanie-bloga-na-wordpress-sredstvami-plagina-wordpress-database-backup-ftp-klienta-lftp-i-routera-asus-wl-500gp/ :D

idw
08-01-2010, 19:37
Здравствуйте. Не подскажите как можно забэкапить все настройки и софт на моем роутере ASUS WL-500Gp? Это мне надо для того, чтобы я смог попробывать поставить с помощью скрипта для чайников более новый софт.

Noobeum
08-01-2010, 19:56
если не портить разметку диска, то наиболее просто так:
1) на сайте роутера - сохранить flashfs + config settings (все базовые настройки + внутренняя флешка)
2) резевная копия раздела /opt

по идее этого достаточно (я так откатывал полностью)
может еще чего надо - хз, может есть проще методы...

vectorm
08-01-2010, 20:51
Поиск для кого придумали?

http://wl500g.info/showthread.php?t=16856

Assembled
09-02-2010, 21:22
Мужики а подскажите как будет выглядеть команда tar например для такого случая:
Следует сделать бэкап папки /opt, чтобы этот бэкап был назван по имени, и сохранён на другом диске.
как это сделать непойму :(
как то что ль так?:

tar cpvf filename.tar /tmp/mnt/disc0_3 /opt

вот тока не получается :(
============================
вот так получилось:

cd /tmp/mnt/disc0_3
tar cpvf optarch.tar /opt
тогда всё получается, бэкап папки /opt, под именем optarch.tar, сохраняется на диске /tmp/mnt/disc0_3.
А кто подскажет как сделать тоже самое находясь например в корне файловой системы??

al37919
09-02-2010, 22:09
tar -C /tmp/mnt/disc0_3 ...

Assembled
10-02-2010, 01:20
tar -C /tmp/mnt/disc0_3 ...

таким образом не получилось, может сделал чего не так, но получилось вот таким образом:

tar cpvf /tmp/mnt/disc0_3/filename.tar /opt/etc
Это у нас получился бэкап папки etc, под именем filename.tar размещёный по адресу /tmp/mnt/disc0_3/
а распаковать его потом так:

tar xpvf /tmp/mnt/disc0_3/filename.tar -C /
как я понял, каталогом для разорхивирования надо указывать корень, так как в tar сохраниласть структура папок, открыл filename.tar, а внём папка opt, ну а в папке opt соответственно папка etc уже со всем содержимым.
==============
Пробовал ещё это дело дожать gzip. Но в книжечке СЕТЕВЫЕ СРЕДСТВА Linux , Родерик В. Смит написал, что бэкап лучше не архивить в gzip и т.д. Т.к. при повреждении весь архив становится нечитаемым, лучше делать бэкап просто в tar.
P.S. кому инфа пригодится:
команды:
с --create = создаёт архив tar
p --preserve-premission = сохраняет информацию о пользователях и правах пользователей
x --extract = извлекает файлы из tar
v --verbose = Выводит информацию об обрабатываемых файлах
z --gzip или --ungzip = задаёт обработку архива программой gzip или ungzip
f --file = использует в качестве архива указаный файл, команда f всегда ставится последней, (например xvzf) а после неё прописывается имя создаваемого tar файла.
С --directory = Перед обработкой данных делает указаный каталог текущим (данная С пишется в верхнем регистре, заглавная буква короче)

dennypsp
06-02-2011, 16:11
Ребят кто знает как скопировать всю флешку сразу со всеми папками на ней? Знаю как копировать по папкам, но может есть метод копирования сразу всей флешки. По форуму ничего про копирование всей флешки ничего не нашел (

vectorm
06-02-2011, 18:15
Ребят кто знает как скопировать всю флешку сразу со всеми папками на ней? Знаю как копировать по папкам, но может есть метод копирования сразу всей флешки. По форуму ничего про копирование всей флешки ничего не нашел (
Плохо искали.
Здесь читайте, и тут (http://wl500g.info/showpost.php?p=159920&postcount=14).

revenant
08-02-2011, 15:49
Пожалуйста помогите восстановить файл name.tar.bz2
Файл был удален путем частичного форматирования (вовремя выключил)
В результате с помощью программы photorec удалось восстановить файл
Но файл получился name.bz2 при переименовании не распаковывает.
Пробывал разные программы, но пока ничего не выходит.

FilimoniC
08-02-2011, 16:55
Пожалуйста помогите восстановить файл name.tar.bz2
...
Но файл получился name.bz2

в Windows обычно архив это "Сжатый набор файлов"
в unix программа TAR отвечает за создания из нескольких файлов одного, а bzip2 его сжимает
Так что если у вас .tar.bz2 - то это аналог windows'овского zip-а, а если .bz2 - то это просто файл, ужатый архиватором.

Вам надо сначала его "разжать", а потом "растарить". то есть первый шаг - получение из .tar.bz2 файла .tar, а не .bz2

Попробуйте отсюда посмотреть
https://www.linuxquestions.org/questions/linux-general-1/help-need-to-recover-corrupt-bzip2-files-289800/

И еще вы должны понимать, что архивация - это уменьшение количества данных при сохранении возможности воссоздания первоначального набора. Таким образом, убираются все дублирующиеся на "случай чего" куски, прогрессии сокращаются, и т.д.. Наверное, видели фотки JPEG. Один битый байтик и вся фотка на смарку. Но в JPEG можно заменить битый пиксель любым битом, а в двоичных файлах - нет.
http://www.hketech.com/JPEG-recovery/o02.png

ConstAntz
08-02-2011, 19:16
Пожалуйста помогите восстановить файл name.tar.bz2
Файл был удален путем частичного форматирования (вовремя выключил)
В результате с помощью программы photorec удалось восстановить файл
Но файл получился name.bz2 при переименовании не распаковывает.
Пробывал разные программы, но пока ничего не выходит.

попробуй свой файл кинуть в блокнот.
если самые первые символы похожи на "BZh91AY" - переименуй в tar.bz2;
если куча пробелов и иногда проглядываются пути - есть вероятность что это tar архив;
а вообще - если архив цел, winrar должен справится.

lans_79
20-02-2011, 13:53
Есть задача бекапировать информацию по сети, сохраняя ее "флешке" воткнутой в роутер.
Исходя из задачи подскажите как лучше все организовать?

заранее спасибо:)

ps/ роутер asus 500 gp2, прошивка 1.9.2.7-d-r2381, флеш диск 8 gb

irwin9
22-01-2013, 15:51
Ребят, подскажите .. обрисую ситуацию
роутер, подключена флешка 4g 3 раздела (своп, хоум и /) перенес весь функционал с роутера на flash drive роутер грузится с usb флешки + доставил еще достаточно всякого рода полезнях на нее asterisk, и др. , и вот к примеру в один "прекрасный" момент флеха дохнет ...:mad: чем бекапнуть флеху (так чтоб с разделами с тем что я ставил ) держать резервную на готове так сказать....Спасибо!