Výsledky 1 až 15 z 15

Téma: [bash,Linux] chyba v podmince

  1. #1
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní [bash,Linux] chyba v podmince

    Asi sem slepej, ale mam tu nakou botu a nevim kde.

    Kód:
    if [ -e $FILE ]; then
        if [ -e $FILE.bck ]; then
            Filedate=$(ls --full-time $FILE.bck |sed -ne "{s/^.\{50\}\([0-9]*\).*$/\1/p;}")
            Filetimeh=$(ls --full-time $FILE.bck |sed -ne "{s/^.\{50\}[0-9]* \([0-9]*\).*$/\1/p;}")
            Filetimem=$(ls --full-time $FILE.bck |sed -ne "{s/^.\{50\}[0-9]* [0-9]*:\([0-9]*\).*$/\1/p;}")
            echo $Filedate, $Filetimem, $Filetimeh
        fi
        mv $FILE $FILE.bck
    fi
    
    if [ "$(date +"%d")" -ne  "$Filedate" ] || ( [ "00" -eq "$Filetimeh" ] && [ "00" -eq "$Filetimem" ] ); then
        echo "jine datum"
        rm -f $FILE
        if [ -e $FILEm ]; then
            mv $FILEm $FILEm.bck
        fi
        NewDay=1
    else
        NewDay=0
    fi
    
    echo "chyba v podmince"
    "if [ "$(date +"%d")" -ne "$Filedate" ] || ( [ "00" -eq "$Filetimeh" ] && [ "00" -eq "$Filetimem" ] ); then"

    Tady mi to pri beznym spusteni normalne projde, ale kdyz to pustim pres crona tak to keca ze "[: : integer expression expected". Taky mi nako nechce smaznout ten soubor tim rm -f.

    Edit: Jo, podezrivam jen tuhle cast "[ "$(date +"%d")" -ne "$Filedate" ]", ten zbytek tam nebyl a delalo to to samy.

    BTW: urcite to de cely napsat lip, jen si tak hraju

  2. #2

    Standardní Re: [bash,Linux] chyba v podmince

    Citace Původně odeslal Jezevec
    Asi sem slepej, ale mam tu nakou botu a nevim kde.

    Kód:
    if [ -e $FILE ]; then
        if [ -e $FILE.bck ]; then
            Filedate=$(ls --full-time $FILE.bck |sed -ne "{s/^.\{50\}\([0-9]*\).*$/\1/p;}")
            Filetimeh=$(ls --full-time $FILE.bck |sed -ne "{s/^.\{50\}[0-9]* \([0-9]*\).*$/\1/p;}")
            Filetimem=$(ls --full-time $FILE.bck |sed -ne "{s/^.\{50\}[0-9]* [0-9]*:\([0-9]*\).*$/\1/p;}")
            echo $Filedate, $Filetimem, $Filetimeh
        fi
        mv $FILE $FILE.bck
    fi
    
    if [ "$(date +"%d")" -ne  "$Filedate" ] || ( [ "00" -eq "$Filetimeh" ] && [ "00" -eq "$Filetimem" ] ); then
        echo "jine datum"
        rm -f $FILE
        if [ -e $FILEm ]; then
            mv $FILEm $FILEm.bck
        fi
        NewDay=1
    else
        NewDay=0
    fi
    
    echo "chyba v podmince"
    "if [ "$(date +"%d")" -ne "$Filedate" ] || ( [ "00" -eq "$Filetimeh" ] && [ "00" -eq "$Filetimem" ] ); then"

    Tady mi to pri beznym spusteni normalne projde, ale kdyz to pustim pres crona tak to keca ze "[: : integer expression expected". Taky mi nako nechce smaznout ten soubor tim rm -f.

    Edit: Jo, podezrivam jen tuhle cast "[ "$(date +"%d")" -ne "$Filedate" ]", ten zbytek tam nebyl a delalo to to samy.

    BTW: urcite to de cely napsat lip, jen si tak hraju
    typoval by som to na druhu cast tej podmienky, konkretne "00", skus dat len 0 alebo tak nejako - proste pohrat sa s formatovanim tej ciselnej hodnoty

  3. #3
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní

    Prave ze to tam puvodne vubec nebylo a hlaska stejna

  4. #4

    Standardní

    Citace Původně odeslal Jezevec
    Prave ze to tam puvodne vubec nebylo a hlaska stejna
    ked budem mat xvilu cas tak sa na to riadne pozrem ... teraz idem zistit vysledky skusky z DM ...

  5. #5
    Senior Member
    Založen
    08.10.2002
    Bydliště
    Mělník
    Věk
    44
    Příspěvky
    1 275
    Vliv
    290

    Standardní

    nepouziva ten cron jen jinej shell?
    CASE Chieftec DX-01B-D { GIGABYTE X48 DS5 { Intel q9300 + 8GB + ATI x1600 + 2x Seagate ES2 1TB } + LiteOn SHM-165P6S} } + 21" Samsung SyncMaster 215TW

  6. #6

    Standardní

    Citace Původně odeslal Glottis
    nepouziva ten cron jen jinej shell?
    jak iny shell cron je daemon ktory spusta programy podla zadanych pravidiel
    inac podrobny popis dostanes pomocou 'man crontab', su tam popisane aj sposoby zapisu casov spustania, inac zakladny tvar je:
    min hod mes den prikaz
    pricom den je den v tyzdni
    mes a den sa zapisuju ako 3-pismenove skratky
    ono sa daju zapisovat aj rozne rozsahy a periodicnost pri tych parametroch
    vsetko je to popisane v tom 'man crontab'

  7. #7
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní

    Citace Původně odeslal Glottis
    nepouziva ten cron jen jinej shell?
    ee, shell sem nikdy nemenil a default je bash.

  8. #8
    Senior Member
    Založen
    08.10.2002
    Bydliště
    Mělník
    Věk
    44
    Příspěvky
    1 275
    Vliv
    290

    Standardní

    lapo: script muzes taky napsat v php a pustit to pres php. muse to poustet pres bash nebo taky sh nebo jine, nebo muze mit svuj. a kazdej se pak chova trosku jinak

    kdyz ti to v bashi funi tak zkus do toho crona dat sposutet ten script jako
    bash /cesta/script

    co to udela
    CASE Chieftec DX-01B-D { GIGABYTE X48 DS5 { Intel q9300 + 8GB + ATI x1600 + 2x Seagate ES2 1TB } + LiteOn SHM-165P6S} } + 21" Samsung SyncMaster 215TW

  9. #9

    Standardní

    Citace Původně odeslal Glottis
    lapo: script muzes taky napsat v php a pustit to pres php. muse to poustet pres bash nebo taky sh nebo jine, nebo muze mit svuj. a kazdej se pak chova trosku jinak

    kdyz ti to v bashi funi tak zkus do toho crona dat sposutet ten script jako
    bash /cesta/script

    co to udela
    to ja vsetko viem
    lenze snazim sa to vzdy vsetko vysvetlit tak aby to vacsina ludi pochopela

  10. #10
    Senior Member
    Založen
    08.10.2002
    Bydliště
    Mělník
    Věk
    44
    Příspěvky
    1 275
    Vliv
    290

    Standardní

    tady neradiem vsem
    CASE Chieftec DX-01B-D { GIGABYTE X48 DS5 { Intel q9300 + 8GB + ATI x1600 + 2x Seagate ES2 1TB } + LiteOn SHM-165P6S} } + 21" Samsung SyncMaster 215TW

  11. #11

    Standardní

    tonouci se stebla chyta ale co kdyz
    if [ "$(date +"%d")" -ne "$Filedate" ]
    ma byt bez apostrofu ? takhle
    if [ $(date +"%d") -ne $Filedate ]

    nebere to on potom jako stringy? a ty se -ne prece neporovnavaji, ze. vim ze to neresi to ze to normalne jede jen ne pri cronu ale jeden nikdy nevi. imho bude problem jak byva zvykem uplne nekde jinde ale ridme se znamym, kdyz selzou vsechny pokusy je na case si precist navod?

    2jezevec: muzes sem hodit ten radek z crontabu kterym to spoustis?

  12. #12
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní

    Takze v crontab to poustim takhle :

    00,10,20,30,40,50 * * * * root run-parts /etc/cron.10minutes

    Ten script je v tom adresari = pousti se kazdejch 10 minut.

    Kdyz to udelam takhle, tak to hlasi "[: 12: unary operator expected" coz vidim na problem v tomhle $(date +"%d") protoze $Filedate je 12.

  13. #13

    Standardní

    ja to zkousel bez tech apostrofu a ficelo (Filedate jsem dal na 12)

    mozna trapny dotaz ale kdyz neco bezis pres run-parts tak musis mit ve skriptu #!/bin/bash . mas to tam? + navic run-parts chce prece jako parametr DIR a ne soubor. /etc/cron.10minutes je u tebe adresar?

    a proc to rozbihas takhle? to ti nestaci tam jen dat prikaz ke spusteni toho skriptu?

    ps: x-ko na ten shell doufam taky mas

  14. #14
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní

    #!/bin/bash - mam
    /etc/cron.10minutes je dobre, jinak by se to nepustilo ne ? Navic to tam takhle je vicrat uz od "prirody" (instalace), ja jen dodal ten radek pro pousteni po 10ti minutach. Mam to tak, paac tam chci mit tech scriptu vic a jak sem uz napsal, trochu si hraju.

    Celej crontab :
    Kód:
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    
    # run-parts
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly
    00,10,20,30,40,50 * * * * root run-parts /etc/cron.10minutes

  15. #15

    Standardní

    toho jsem se bal ze to budes mit dobre
    ale zkus jen tak pro zvedavost do crontabu fiknout radek ktery bude spoustet jen ten dany skript (tzn zadne run-parts). aspon tim jakztakz vyeliminujes pripadnou chybu run-parts

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. Chyba nv4_disp - nekonečná smyčka...
    Založil Vykuk v sekci fóra NVIDIA grafické karty
    Odpovědí: 14
    Poslední příspěvek: 19.09.2006, 13:39
  2. Chyba aplikace - Instrukce na adrese ..... s pamětí nelze ..
    Založil Dave . . . v sekci fóra Ostatní operační systémy
    Odpovědí: 2
    Poslední příspěvek: 06.11.2005, 01:16
  3. Chyba pripojovani v kppp (pppd chyba 10, Mandrake 10.1)
    Založil Standa_ v sekci fóra Operační systémy na bázi Unixu
    Odpovědí: 4
    Poslední příspěvek: 18.02.2005, 17:31
  4. Chyba pri prihlaseni k existujici relaci
    Založil howard v sekci fóra Ostatní operační systémy
    Odpovědí: 2
    Poslední příspěvek: 18.10.2004, 11:33
  5. Chyba Samsung SP6003H
    Založil Lakas v sekci fóra Optické, přenosné a jiné disk(et)y
    Odpovědí: 1
    Poslední příspěvek: 27.03.2003, 19:40

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •