Portál AbcLinuxu, 18. dubna 2024 20:40


Dotaz: Kontrola zda je vložena páska

Zdeněk Zámečník avatar 8.4.2009 16:59 Zdeněk Zámečník | skóre: 26
Kontrola zda je vložena páska
Přečteno: 186×
Odpovědět | Admin

Již delší dobu pátrám, jak ověřit, zda je v páskové mechanice vložena páska. Nevěděl by někdo jak na to? Příkaz mt ani eject to (pravděpodobně) neumí.

Systém: Debian Lenny
Mechanika: HP StorageWorks Ultrium 448


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.4.2009 17:14 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
Rozbalit Rozbalit vše Re: Kontrola zda je vložena páska
Odpovědět | | Sbalit | Link | Blokovat | Admin

mt status to opravdu nerozpozná?

Já si pásku kontoluju tak, že si pomocí dd přečtu pár prvních Byte a ještě si z nich vyříznu zkratku dne, kterou si tam zálohovací software zapisuje. Takže rozpoznám i zda tam zůstala páska ze včerejška. Pokud to hodí IO error nebo něco takového, tak tam páska není.

Zdeněk Zámečník avatar 8.4.2009 17:28 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Kontrola zda je vložena páska

Při zadání příkazu mt status /dev/st0 to zůstane "viset". Zrovna tak při dd. Co mě trochu zaráží a v čem by mohl být problém, je to, že na mechanice svítí kontrolka Ready i když mám pásku vyndanou... Zrovna tak se mi nerozsvítí ani kontrolka Tape, pokud pásku vložím...

Zdeněk Zámečník avatar 8.4.2009 18:33 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Kontrola zda je vložena páska
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zatím jsem dal dohromady toto:

if eject /dev/st0 -q -t &>/dev/null; then echo "inserted"; else echo "empty"; fi

Přiznávám, že je to ale doslova prasárna.

Co to přesně dělá?
eject /dev... -q -t provede vložení pásky, pokud je vysunuta. Pokud se mu to nepovede, dojde k I/O error. Zbytek si každý domyslí sám...

Co je na tom ošklivé?
Mechanika se snaží pásku několikrát vložit než to vzdá...

Lepší nápad?
Sem s ním!

Zdeněk Zámečník avatar 8.4.2009 18:51 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Kontrola zda je vložena páska

Napadlo mne tTrošku lepší řešení, které zbytečně neopotřebovává mechaniku, ale pořád je to stejně obcházení něčeho, co by mělo jít lépe:

mt -f /dev/st0 status &>/dev/null &
pid=$!
sleep 2
if [ $(ps --pid $pid | wc -l) -gt 1 ]; then
  echo "empty"
  kill $pid
else
  echo "probably inserted"
fi

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.