dd-wrt가 있는 라우터에 영구 저장소가 있습니까?

dd-wrt가 있는 라우터에 영구 저장소가 있습니까?

나는 이것에 초보자이다. 내 라우터에 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

관련 정보