Hirdetés
- iPhone topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Apple Watch
- Akciófigyelő: Százezer forint engedmény a Nothing Phone (3)-ra
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Megtartotta Európában a 7500 mAh-t az Oppo
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Alig fél évet hagyott az Oppo a K13 Turbo Pro-nak
Új hozzászólás Aktív témák
-
tjsz
senior tag
válasz
Fecogame
#2852
üzenetére
Sajnos erre is hibát ad.
-W version-re az egyik azt írja, hogy "Gnu Awk 3.1.3"
A másiknál pedig:
root@Router:/tmp/home/root# awk -W version
awk: warning: option -W is ignored
BusyBox v1.36.1 (2023-09-09 05:54:41 CEST) multi-call binary.Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
-v VAR=VALSet variable
-F SEPUse SEP as field separator
-f FILERead program from FILE
root@Router:/tmp/home/root# -
tjsz
senior tag
Sziasztok!
Van egy script-em, ami a status file-ból a megfelelő oszlopokban lévő adatokat listázza (oszlopok hossza is be van állítva):
cat status|grep "^CLIENT_LIST"|awk -F, "{print printf("%-23s",$8), printf("%-25s",$3), printf("%-11s", $10), $13}"
Ugyanezt végre akarom hajtni Win10 alatt (OpenVPN-hez adott cat-tal, grep-pel és awk-val), de ott hibát ad:
awk: cmd. line:1 '{print
awk: cmd. line:1 '{print ^ invalid char ''' in epressionHa ezt akarom végrehajtani:
cat status|grep "^CLIENT_LIST"|awk -F, "{print sprintf("%-23s",$8), sprintf("%-25s",$3), sprintf("%-11s", $10), $13}"akkor pedig ezt kapom:
-25 -11 oszlop13
Ez miért van? Nem teljesen kompatibilis a linux-os és a windows-os awk?
-
tjsz
senior tag
válasz
vargalex
#2704
üzenetére
+1 kérdés, ha lehet: te hogyan oldanád meg, hogy 1 script egyidejűleg csak 1 példányban induljon el? Ugyanaz a script többféle esemény miatt is elindításra kerülhet pl. WAN oldal up vagy éppen down, napi riport készítés, stb. Valami ideiglenes file létrehozás-törléssel? (és annak ellenőrzésével)
-
tjsz
senior tag
Ahogy írtam, ez egy FreshTomato firmware
dnsmasq.conf:
pid-file=/var/run/dnsmasq.piddomain=********resolv-file=/etc/resolv.dnsmasqaddn-hosts=/etc/dnsmasqdhcp-hostsfile=/etc/dnsmasqexpand-hostsmin-port=4096stop-dns-rebindrebind-localhost-okinterface=br0dhcp-range=tag:br0,192.168.1.51,192.168.1.200,255.255.255.0,10080mdhcp-option=tag:br0,3,192.168.1.254dhcp-option=tag:br0,44,192.168.1.254interface=br1dhcp-range=tag:br1,192.168.2.51,192.168.2.200,255.255.255.0,10080mdhcp-option=tag:br1,3,192.168.2.254dhcp-option=tag:br1,44,192.168.2.254interface=br2dhcp-range=tag:br2,192.168.3.51,192.168.3.200,255.255.255.0,10080mdhcp-option=tag:br2,3,192.168.3.254dhcp-option=tag:br2,44,192.168.3.254dhcp-lease-max=255dhcp-option=lan,252,"\n"dhcp-authoritativelog-facility=/tmp/mnt/Kingston/Log/syslog_dnsmasqdhcp-ignore=tag:br0,tag:!knowndhcp-ignore=tag:br2,tag:!knowncache-size=0 -
tjsz
senior tag
válasz
f_sanyee
#2699
üzenetére
root@Router:/tmp/home/root# for d in $(awk '{ print $1}' /var/lib/misc/dnsmasq.leases); do echo -n "$d: "; date "+%Y-%m-%d %H:%M" -d @${d}; done603566: 1970-01-08 00:39594732: 1970-01-07 22:12339516: 1970-01-04 23:18500044: 1970-01-06 19:54541145: 1970-01-07 07:19604800: 1970-01-08 01:00235115: 1970-01-03 18:18386945: 1970-01-05 12:29604157: 1970-01-08 00:49589094: 1970-01-07 20:38603861: 1970-01-08 00:44596755: 1970-01-07 22:45569503: 1970-01-07 15:11555154: 1970-01-07 11:12529923: 1970-01-07 04:1281783: 1970-01-01 23:43101094: 1970-01-02 05:0489397: 1970-01-02 01:49106480: 1970-01-02 06:34524019: 1970-01-07 02:33510826: 1970-01-06 22:53429562: 1970-01-06 00:19517980: 1970-01-07 00:53518487: 1970-01-07 01:01root@Router:/tmp/home/root# dnsmasq -vDnsmasq version 2.80-7d04e17 Copyright (c) 2000-2018 Simon KelleyCompile time options: IPv6 GNU-getopt no-RTC no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset Tomato-helper auth DNSSEC no-ID loop-detect inotify no-dumpfileThis software comes with ABSOLUTELY NO WARRANTY.Dnsmasq is free software, and you are welcome to redistribute itunder the terms of the GNU General Public License, version 2 or 3.root@Router:/tmp/home/root#FreshTomato firmware.
-
tjsz
senior tag
válasz
f_sanyee
#2694
üzenetére
A dnsmasq.leases file 1. oszlopában a "dhcp lease time"-ból hátralévő idő van tárolva másodpercben. Tehát ha pl. 1 hétre kap minden eszköz IP címet, akkor az IP cím kérés 1. másodpercében 604800 az érték, majd ez szépen csökken 1-esével másodpercenként egészen addig, amíg le nem nullázodik ill. ha nem kér újra IP címet az adott eszköz.
A probléma ott volt/van, hogy bár a dns cache ki van kapcsolva, a dnsmasq.leases file csak akkor frissül, ha egy újabb eszköz kér IP címet, ekkor az 1. oszlopban lévő értékek korrigálásra kerülnek. Vagyis: nem a systime()-al volt a gond, hanem ezzel a cache-eléssel.
Közben egy újabb kérdés fogalmazódott meg bennem: mivel ugyanazon script többféle esemény miatt is elindításra kerülhet (pl. WAN oldal up vagy éppen down, napi riport készítés, stb.), ezért hogyan lenne érdemes azt megoldani, hogy egyidejűleg csak 1 példányban induljon el? Valami ideiglenes file létrehozás-törléssel? (és annak ellenőrzésével)
-
tjsz
senior tag
Sziasztok!
Nem tudom, hogy jó helyen járok-e, de segítségre lenne szükségem: miért van az, hogy az alábbi "programkód" mindig más-más DHCP kérési időpontot ad ki, pedig közben a listabeli gépek még bekapcsolva sem voltak. Érdekes módon az eltérés mindig annyi, ahány másodperccel később futtatam.
root@Router:/tmp/home/root# cat /var/lib/misc/dnsmasq.leases|awk '{print $3, $2, $4, $1}'|sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n|awk -v dhcplt=604800 '{print $4,systime()+$4-dhcplt, $2, $1, $3}'|awk '{ if($1 == "0" ) print "Unknown - infinite "," ",$3," ",sprintf("%-18s",$4),$5; else print strftime("%c", $2)," ",$3," ",sprintf("%-18s",$4),$5; }' >> "$file_email_std"Sun Dec 19 08:43:35 2021 50:e5:94:12:34:56 192.168.1.1 Home_pcSun Dec 19 08:51:30 2021 bc:5f:4f:12:34:56 192.168.1.2 Home_pc_2root@Router:/tmp/home/root# cat /var/lib/misc/dnsmasq.leases|awk '{print $3, $2, $4, $1}'|sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n|awk -v dhcplt=604800 '{print $4,systime()+$4-dhcplt, $2, $1, $3}'|awk '{ if($1 == "0" ) print "Unknown - infinite "," ",$3," ",sprintf("%-18s",$4),$5; else print strftime("%c", $2)," ",$3," ",sprintf("%-18s",$4),$5; }'Sun Dec 19 08:43:45 2021 50:e5:94:12:34:56 192.168.1.1 Home_pcSun Dec 19 08:51:40 2021 bc:5f:4f:12:34:56 192.168.1.2 Home_pc_2root@Router:/tmp/home/root# cat /var/lib/misc/dnsmasq.leases|awk '{print $3, $2, $4, $1}'|sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n|awk -v dhcplt=604800 '{print $4,systime()+$4-dhcplt, $2, $1, $3}'|awk '{ if($1 == "0" ) print "Unknown - infinite "," ",$3," ",sprintf("%-18s",$4),$5; else print strftime("%c", $2)," ",$3," ",sprintf("%-18s",$4),$5; }'Sun Dec 19 08:44:17 2021 50:e5:94:12:34:56 192.168.1.1 Home_pcSun Dec 19 08:52:12 2021 bc:5f:4f:12:34:56 192.168.1.2 Home_pc_2root@Router:/tmp/home/root# exitTehát pl. az egyik futtatáskor a Home_pc 8:43:35-kor, 10 másodperccel későbbi futtatáskor mintha 8:43:45-kor kért volna IP címet.
DNS cache beállítva 0-ra, tehát nem cache-el.
-
tjsz
senior tag
Sziasztok!
Azt szeretném megoldani, hogy a script-ben használt változók értékét egy log file-ba szeretném kiírni, de csak akkor ha bármelyik értéke változott.
A teszt script:
info1="yes"
info2="no"
file_log=/tmp/script.log
info_curr=""
info_prev=""
function script_log
{
echo "`date +%T` - PID:$$ - $*" >> "$file_log"
info_curr="Info1: $info1, info2: $info2"
if [ "$info_curr" != "$info_prev" ]; then
$info_prev=$info_curr
echo "`date +%T` - PID:$$ - $info_curr" >> "$file_log"
fi
}
script_log Sor1
info1="no"
script_log Sor2A script.log file létrejön, de a script futtatásakor hibát kapok:
root@Pc:/tmp# teszt2.sh
teszt2.sh: line 22: =Info1:: not found
teszt2.sh: line 25: =Info1:: not foundEnnek mi az oka?
Előre is köszönöm!
Új hozzászólás Aktív témák
- HIBÁTLAN iPhone 12 Mini 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3453, 100% Akkumulátor
- Eladó One Plus Nord 2T 5G 8/128GB / 12 hó jótállás
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest











