Ejecución retrasada en script de shell

0

Hice un archivo de script simple en mi máquina Linux para montar una unidad iscsi.

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

El problema es que, cuando superé este script, siempre falla por primera vez. Le gusta esto.

/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#

Creo que si puedo insertar algún retraso entre dos líneas, estará bien. ¿Es esto razonable? Por favor avísame para esto.

Andrei Kim
fuente
¿Cuál es la relación entre la primera y la segunda línea?
Xen2050
El primero es contratar un ISCSI y el segundo es montar un volumen ISCSI
Andrei Kim
No tengo iscsiadmen mi sistema, pero una página web man no parece tener ninguna opción para hacerla esperar antes de regresar al terminal ... un poco extraño que regrese inmediatamente antes de que termine, pero parece que el sueño está inactivo su mejor opción, +1 a Deeh
Xen2050

Respuestas:

1

Si todo lo que necesita es un retraso entre dos comandos, puede agregar sleep X, donde X es el valor en segundos.

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

Si lo necesita para montar en el arranque (no está claro en su publicación). Luego debe agregar / dev / sdb1 a / etc / fstab con la _netdevopción y asegurarse de que iSCSI se esté ejecutando en el arranque.

Deeh
fuente
Hola. Quería montar en el arranque como mencionaste. Gracias. Así que hice un archivo de script para / etc / init como un script de inicio. Si hay una mejor manera, ¿puedes compartir conmigo?
Andrei Kim