Esecuzione ritardata sullo script di shell


0

Ho creato un semplice file di script sulla mia macchina Linux per montare un'unità iscsi.

iscsiadm –m node --targetname THE_TARGET_IQN --login
mount /dev/sdb1 /home/mounted

Il problema è che, quando ho superato questo script, fallisce sempre al primo tentativo. Piace questo.

/etc/init.d# ./iscsi
Loggin to [iface: default, target: targetname, portal: THE_TARGET_IQN (multiple)
Loggin to [iface: default, target: targetname, portal: THE_TARGET_IQN successful.
mount: special device /dev/sdb1 does not exist
/etc/init.d# ./iscsi
isciadm: default:1 session requested, but 1 already present.
isciadm: Could not log into all portals
/etc/init.d#

Penso che se riesco a inserire un ritardo tra due righe, andrà bene. È ragionevole? Si prega di avvisare per questo.


Qual è il rapporto tra il primo e; seconde righe?
Xen2050

Il primo è impegnato in un ISCSI e il secondo è quello di montare un volume ISCSI
Andrei Kim

Io non ho iscsiadm sul mio sistema, ma una pagina web man non sembra avere opzioni per farla aspettare prima di tornare al terminale ... un po 'strano che ritorni immediatamente prima che sia finito, ma sembra che il sonno sia l'opzione migliore, + 1 a Deeh
Xen2050

Risposte:


1

Se tutto ciò che ti serve è un ritardo tra due comandi, puoi aggiungere sleep X, dove X è il valore in secondi.

iscsiadm –m node --targetname THE_TARGET_IQN --login
sleep 3
mount /dev/sdb1 /home/mounted

Se ne hai bisogno per il mount all'avvio (non è chiaro dal tuo post). Quindi è necessario aggiungere / dev / sdb1 a / etc / fstab con _netdev opzione e assicurarsi che iSCSI sia in esecuzione all'avvio.


Ciao. Volevo montare su boot come hai detto. Grazie. Così ho creato un file di script in / etc / init come script di avvio. Se c'è un modo migliore, puoi condividere con me?
Andrei Kim

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.