Citace od: erik80 kdy 19. 06. 2018, 10:56:58naco je tam vobec ten cyklus? text emailu naformatujem v tom awk a prepipujem do mailx. ci mi nieco unika?
Citace od: Kit kdy 19. 06. 2018, 11:09:09Citace od: FAT32 kdy 19. 06. 2018, 10:55:28Vypadá to, že jsi měl zřejmě pravduKód [Vybrat] Rozbalit./disk_check.sh: ^M: not found./disk_check.sh: syntax error at line 2 : `while' unmatchedTakže když tam vrátíš "done", uložíš do souboru a na začátek napíšeš "#!/bin/sh", tak by to mělo fungovat.
Citace od: FAT32 kdy 19. 06. 2018, 10:55:28Vypadá to, že jsi měl zřejmě pravduKód [Vybrat] Rozbalit./disk_check.sh: ^M: not found./disk_check.sh: syntax error at line 2 : `while' unmatched
./disk_check.sh: ^M: not found./disk_check.sh: syntax error at line 2 : `while' unmatched
#!/usr/bin/sh bdf | awk '/^\/opt\/xip\/xib\// { if($5>=90) print $5 " " $1 }' | while read usep partition; do echo "Running out of space \"$partition ($usep)\""| mailx -s "Alert: Almost out of disk space $usep" email@server.com done
./disk_check.sh[2]: ^M: not found../disk_check.sh[3]: Syntax error at line 6 : `done' is not expected.
#!/usr/bin/ksh
Citace od: Kit kdy 19. 06. 2018, 11:13:08Když to takhle uděláš, tak se e-mail pošle pokaždé, což určitě nechceme.
Citace od: Kit kdy 19. 06. 2018, 11:13:08Také by byl problém naplnit parametr "-s".
Citace od: Kit kdy 19. 06. 2018, 11:13:08Dal by se však zavolat mailx přímo z awk, což by mohlo být zajímavé řešení.
Citace od: erik80 kdy 19. 06. 2018, 11:30:06Citace od: Kit kdy 19. 06. 2018, 11:13:08Když to takhle uděláš, tak se e-mail pošle pokaždé, což určitě nechceme. neposle, ved v tom awk je podmienka, dalej prejdu len riadky s $5>90
Citace od: FAT32 kdy 19. 06. 2018, 11:19:20Kód [Vybrat] Rozbalit./disk_check.sh[2]: ^M: not found../disk_check.sh[3]: Syntax error at line 6 : `done' is not expected.
Citace od: Kit kdy 19. 06. 2018, 11:38:29Citace od: erik80 kdy 19. 06. 2018, 11:30:06Citace od: Kit kdy 19. 06. 2018, 11:13:08Když to takhle uděláš, tak se e-mail pošle pokaždé, což určitě nechceme. neposle, ved v tom awk je podmienka, dalej prejdu len riadky s $5>90 Prázdný string je také string, mailx pošle prázdnou zprávu. To nechceš.
Citace od: erik80 kdy 19. 06. 2018, 11:45:49ziadny prazdny string sa netlaci, ak $5<=90 tak awk neurobi vobec nic, netlacia sia prazdne riadky, proste dalej prechadzaju len riadky ktore maju $5>90
Citace od: Kit kdy 19. 06. 2018, 11:49:58Citace od: erik80 kdy 19. 06. 2018, 11:45:49ziadny prazdny string sa netlaci, ak $5<=90 tak awk neurobi vobec nic, netlacia sia prazdne riadky, proste dalej prechadzaju len riadky ktore maju $5>90Teď jsem to zkusil, při nesplnění podmínky se pošle prázdný e-mail.
Citace od: erik80 kdy 19. 06. 2018, 11:51:49erik@E5570:~$ df | tr -d '%' | wc -l21erik@E5570:~$ df | tr -d '%' | awk '{if ($6>90) print}' | wc -l10
Citace od: Kit kdy 19. 06. 2018, 11:41:58Citace od: FAT32 kdy 19. 06. 2018, 11:19:20Kód [Vybrat] Rozbalit./disk_check.sh[2]: ^M: not found../disk_check.sh[3]: Syntax error at line 6 : `done' is not expected.To vypadá, jako kdybys měl dosovský konec řádku. Zkus hexdump.
Citace od: FAT32 kdy 19. 06. 2018, 12:00:13Citace od: Kit kdy 19. 06. 2018, 11:41:58Citace od: FAT32 kdy 19. 06. 2018, 11:19:20Kód [Vybrat] Rozbalit./disk_check.sh[2]: ^M: not found../disk_check.sh[3]: Syntax error at line 6 : `done' is not expected.To vypadá, jako kdybys měl dosovský konec řádku. Zkus hexdump.To HP-UX bohužel neumí a instalace by si vyžádala žádost, která se vyřídí až za týden
Citace od: FAT32 kdy 19. 06. 2018, 12:00:13Citace od: Kit kdy 19. 06. 2018, 11:41:58To vypadá, jako kdybys měl dosovský konec řádku. Zkus hexdump.To HP-UX bohužel neumí a instalace by si vyžádala žádost, která se vyřídí až za týden
Citace od: Kit kdy 19. 06. 2018, 11:41:58To vypadá, jako kdybys měl dosovský konec řádku. Zkus hexdump.
Citace od: FAT32 kdy 19. 06. 2018, 12:26:11Nakonec sem to smazal a vložil znovu ve vim, asi to někdo dělal skutečně v nějakém texťáku ve winu Teď už jen zbejvá zjístit, proč to emaily nepošle. Vidím to na nefunkční mailx. Každopádně děkuji za rady, pomohly
Citace od: Kit kdy 19. 06. 2018, 11:59:05Citace od: erik80 kdy 19. 06. 2018, 11:51:49erik@E5570:~$ df | tr -d '%' | wc -l21erik@E5570:~$ df | tr -d '%' | awk '{if ($6>90) print}' | wc -l10K čemu tam máš to zbytečné "tr"? Tímto příkazem se vždy odešle minimálně jeden řádek. Jenže e-mail chceme poslat pouze v případě, když je na některém oddílu překročena kvóta. Jinak nesmí být odeslán ani prázdný string.