
나는 이것에 초보자이다. 내 라우터에 dd-wrt가 설치 및 구성되어 있습니다.
dd-wrt 버전 : DD-WRT v24-sp2 (08/07/10) 라우터 버전 : D-Link DIR 600
대역폭 사용량 모니터링 스크립트를 설정하려고 합니다.
재부팅 시 삭제되지 않고 라우터에 세부 정보를 저장할 수 있는 방법이 있습니까?
제가 얻을 수 있는 일종의 영구 저장소가 있다는 뜻인가요?
고마워
J
답변1
nvram
(즉, 비휘발성 램)이 있어야 합니다 .
nvram show # list all variables
nvram get name # get variable
nvram set name=value # set variable
nvram unset name # delete variable
nvram commit # save changes to flash
답변2
Mika가 말했듯이 nvram은 영구 저장소의 이름입니다. 불행하게도 그것은~ 아니다파일 시스템. DD-WRT의 파일 시스템(적어도 작은 파일 시스템)은 squashfs와 ramfs의 조합이며 부팅 시 nvram에 저장된 값으로 채워집니다.
당신이 갈 때관리->명령, 스크립트를 입력하고 다른 이름으로 저장할 수 있습니다.사용자 정의 스크립트(페이지 하단). 이 기능을 사용하면 여러 사용 사례가 모두 이 단일 스크립트에 포함되어 있는 경우 구현할 수 있습니다. 나는 다음과 같은 것을 만들었습니다.
case "$1" in
wificontrol)
#here is code which turns off wlan after 30 mins of inactivity
;;
wifion|wifi)
wlanIF=ra0
ifconfig $wlanIF up
touch /tmp/wlan-online0
;;
*)
echo "$0 {wificontrol|wifi[on]}"
esac
그런 다음 명령줄에서 스크립트를 실행합니다.
/tmp/custom.sh wifion
그리고 크론 작업(관리->관리):
*/4 * * * * root /tmp/custom.sh wificontrol
나도 알아요, 이것은 아주 좋은 해결책은 아니지만 효과가 있어요. 내 v24-sp2(rev 14896)에서 테스트되었습니다.
답변3
사용할 수 있는 작은 공간이 있습니다. 라우터 사양을 찾아보지 않아서 정확히는 모르겠습니다. cron 작업을 설정할 때 파일 시스템에 쓰는 중이지 않습니까? SSH로 접속하여 /var 디렉토리를 체크아웃합니다. USB 포트가 있으면 거기에 로그 파일을 저장할 수 있습니다. 로그가 특정 크기에 도달하면 스크립트에서 로그를 삭제해야 합니다. 그렇지 않으면 라우터가 종료됩니다.
관심을 가질 만한 내용입니다.http://www.dd-wrt.com/wiki/index.php/Useful_Scripts 또는 이 포럼 스레드.http://www.dd-wrt.com/phpBB2/viewtopic.php?t=81432
답변4
JFFS 활성화.
링크에는 두 가지 지침이 있습니다.
- 웹-GUI 인터페이스 사용
- 명령줄 인터페이스 사용
제 경우에는 명령줄 인터페이스만 작동했습니다. 웹-GUI 인터페이스는 그렇지 않았습니다.
수정된 명령줄 인터페이스 지침
이 명령은 ssh를 통해 쉘에서 실행하는 것이 가장 쉽습니다. SSH를 활성화해야 합니다.
먼저 jffs가 이미 마운트되어 있는지 확인하십시오.
mount
마운트된 jffs 파티션은 다음과 같습니다:
$ mount
...
/dev/mtdblock/4 on /jffs type jffs2 (rw)
$ df -h
Filesystem Size Used Available Use% Mounted on
...
/dev/mtdblock/4 4.3M 260.0K 4.0M 6% /jffs
사용할 수 없는 경우 DD-WRT에 포맷하고 생성하도록 지시합니다.
이 기능을 실행하기 전에 DD-WRT 구성을 백업해야 합니다.
nvram set jffs_mounted=1
nvram set enable_jffs2=1
nvram set sys_enable_jffs2=1
nvram set clean_jffs2=1
nvram set sys_clean_jffs2=1
nvram commit
reboot
재부팅 후 파일이 손실되지 않도록 부팅별 재포맷 설정을 해제합니다.
nvram set clean_jffs2=0
nvram set sys_clean_jffs2=0
nvram commit
테스트
date | tee /jffs/test
cat /jffs/test