Bash timed execution

2009-05-22 08:05:14 UTC by maris in Linux, Skripti,

Tikko savajadzējās uztaisīt check'u ar timeout'u, te mu būs piemērs kā to izdarīt no bash. Ideja diezgan vienkārša - forkojam galveno procesu backgroundā, savācam procesa pid, guļam timeout sekundes, pēc kā pārbaudma vai process joprojām ir aktīvs. #!/bin/bash mainproc(){ for i in `seq 1 20` do echo "Now in $i" sleep 1 done } timeout=5 echo "Running with timeout of 5 seconds" mainproc & pid=$! sleep $timeout kill -0 $pid if [ $? -eq 0 ] then echo "Process hang" kill -9 $pid else echo "Process ok" fi

(0 komentāri)

tīkla ip adrešu savākšana

2009-03-13 22:30:22 UTC by maris in Linux, Skripti,

kā savākt, tīklā esošos, ip< ->mac for h in `seq 1 254`; do ping -c1 192.168.1.${h};done arp -a | grep eth0 |awk -F ' ' '{print $2,$4}' | tr -d '()' | sort -t . -n -k 4

(0 komentāri)

Visu tabulu alter iekš MySQL db

2009-02-09 10:53:11 UTC by maris in Skripti, MySQL,

Šad tad savajagas veikt izmaiņas visās tabulās kādā DB iekš MySQL, ja ir pāris tabulas, tad nav nekas traks, bet ja to ir daudz, tad tas var drusku ievilkties. Te būs one liner bash skripts, ja kam savajagas :) for table in `mysql -uUSERIS -pPAROLE -h127.0.0.1 --skip-column-names DATUBAZE -e "SHOW TABLES"`;do mysql -uUSERIS -pPAROLE -h127.0.0.1 DATUBAZE -e "ALTER TABLE $table ENGINE=myisam;";done

(0 komentāri)

Mac un OpenVPN

2009-02-02 18:45:29 UTC by maris in Skripti, Apple, Internets,

Priekš mac ir divi gui openvpn klienti - viscosity un tunnelblick. Viscosity ir diezgan ērts un vienkāršs lietošanā, kā arī māk importēt tunnelblick konfigurāciju, bet par nelaimi, tas ir maksas, kaut gan tā cena nav pārāk liela, bet tomēr par openvpn maksāt negribas! Tunnelblick palietot man tā arī neizdevās, tā kā tas neatbalsta password-save, bet arī nepiedāvā paroli ievadīt STDIN. Pēc tā kā man beidzās viscosity triālais periods, openvpn tunelis pārstāja strādāt un tunnelblick manā gadījumā nebija risinājums. OpenVPN no sources 1. Savācu sources no openvpn lapas wget http://openvpn.net/release/openvpn-2.1_rc15.tar.gz 2. OpenVPN normālai funkcionalitātei ir nepieciešams LZO, tā kā man ir Fink, tad lieku LZO pakas no tā! apt-get install lzo lzo-shlibs 3. Atpakošana, konfigurācija, instalācija. Nepieciešami X-Developer tools tar xvf openvpn-2.1_rc15.tar.gz cd openvpn-2.1_rc15/ ./configure --enable-password-save --disable-server --with-lzo-lib=/sw/lib --with-lzo-headers=/sw/include make make install 4. Startup skripts. Saglabājiet šo kautkur un iedodiet tam executable tiesības (chmod +x scripts) #!/bin/bash CONFIG_PATH="/etc/openvpn" LOG_FILE_PATH="/var/log/openvpn.log" RUN_AS_USER="username" RUN_AS_GROUP="nobody" sudo touch ${LOG_FILE_PATH} sudo chown ${RUN_AS_USER}:${RUN_AS_GROUP} ${LOG_FILE_PATH} sudo /sw/sbin/openvpn --config ${CONFIG_PATH}/openvpn.conf --cd ${CONFIG_PATH} --chroot ${CONFIG_PATH} --daemon openvpn --user ${RUN_AS_USER} --group ${RUN_AS_GROUP} --log ${LOG_FILE_PATH} 5. Lai šis startētos automātiski: System Preferences -> Accounts -> Tavs username -> Login Items -> + un pievienojam te skriptu. Pie logon, tas atvērs termināli, kurā būs jāiedrukā tava parole (priekš sudo), jo or nepieciešamas privilēģijas tap0 izveidei un routinga pievienošanai.

(1 komentārs)

Netconsole2Mail

2008-12-05 10:28:18 UTC by maris in Linux, python, Skripti,

dmesg ir visai noderīga lieta kodola ziņu pārlūkošanai. Kodols signalizē, ja ir kādas problēmas ar aparatūru vai programmaturu (piem. failu sistēmu), tas viss tiek atspoguļots iekš dmesg. Un cik bieži sanāk apskatities dmesg? Droši vien tikai tad, kad tiek atjaunināta sistēma, vai arī rodas kādas problēmas. Linux Kernelī ir lieta, kas saucas "netconsole". Netconsole dod iespēju sūtīt kerneļa ziņas uz kādu citu centrālu serveri, tas var būt syslog serveri, vai arī vienkāršs netcat, bet gan netcat gan syslog ir trūkumi netconsole ziņu saņemšanā un kādu darbību izpildē. Tādēļ nolēmu uzrakstīt nelielu dēmonu, kas tad veiktu netconsole server funkcijas. Tā darbība ir visai vienkārša tas saņem ziņas uz 6666/udp, liek buferī, un pēc kāda konfigurēta intervāla buffera saturu sūta administratoram. Paņemt var te: http://forums.gentoo.lv/index.php?topic=36.0

(0 komentāri)