RESCAN-SCSI-BUS.SH(8) User Commands RESCAN-SCSI-BUS.SH(8)

# [NAME](#NAME)

rescan-scsi-bus.sh - script to add and remove SCSI devices without rebooting

# [SYNOPSIS](#SYNOPSIS)

**rescan-scsi-bus.sh** \[*--alltargets*] \[*--attachpq3*] \[*-c*] \[*--channels=CLIST*] \[*--color*] \[*-d*] \[*--flush*] \[*-f*] \[*--forceremove*] \[*--forcerescan*] \[*--help*] \[*--hosts=HLIST*] \[*--ids=TLIST*] \[*--ignore-rev*] \[*--issue-lip*] \[*-i*] \[*--issue-lip-wait=SECS*] \[*-I SECS*] \[*-l*] \[*-L NUM*] \[*--largelun*] \[*--luns=LLIST*] \[*-m*] \[*--multipath*] \[*--no-lip-scan*] \[*--nooptscan*] \[*--nosync*] \[*--remove*] \[*--removelun2*] \[*--resize*] \[*--sparselun*] \[*--sync*] \[*--timeout=SECS*] \[*--update*] \[*--version*] \[*--wide*] \[*HOST1* \[*HOST2* ...]]

# [OPTIONS](#OPTIONS)

Option are ordered by their long name. Those without a long name are ordered as if their single letter was a long name.

[**-a**, **--alltargets**](#a)

scan all targets, not just currently existing \[default: disabled]

[**--attachpq3**](#attachpq3)

tell kernel to attach sg to LUN 0 that reports PQ=3

[**-c**](#c)

enables scanning of channels 0 1 \[default: 0 / all detected ones]

[**--channels**=*CLIST*](#channels)

scan only channel(s) in *CLIST*

[**--color**](#color)

use coloured prefixes OLD/NEW/DEL

[**-d**](#d)

enable debug \[default: 0]

[**-f**, **--flush**](#f)

flush failed multipath devices \[default: disabled]

[**--forceremove**](#forceremove)

remove stale devices (DANGEROUS)

[**--forcerescan**](#forcerescan)

remove and re-add existing devices (DANGEROUS)

[**-h**, **--help**](#h)

print usage message then exit

[**--hosts**=*HLIST*](#hosts)

scan only host(s) in *HLIST*

[**--ids**=*TLIST*](#ids)

scan only target ID(s) in *TLIST*

[**--ignore-rev**](#ignore)

ignore (firmware) revision change. This is the third text field (4 bytes long) in a standard INQUIRY response.

[**-i**, **--issue-lip**](#i)

issue a FibreChannel LIP reset \[default: disabled]

[**-I SECS**, **--issue-lip-wait=SECS**](#I)

issue a FibreChannel LIP reset and then wait SECS seconds.

[**-L** NUM](#L)

activates scanning for LUNs 0--NUM \[default: 0]

[**-l**](#l)

activates scanning for LUNs 0--7 \[default: 0]

[**--largelun**](#largelun)

tell kernel to support LUNs &gt; 7 even on SCSI2 devs

[**--luns**=*NLIST*](#luns)

scan only lun(s) in *NLIST*

[**-m**, **--multipath**](#m)

update multipath devices \[default: disabled]

[**--no-lip-scan**](#no)

don't scan FC Host when the *--issue-lip* option is also given.

[**--nooptscan**](#nooptscan)

don't stop looking for LUNs is 0 is not found

[**--nosync**](#nosync)

do not issue a sync \[default: sync if remove]

[**-r**, **--remove**](#r)

enables removing of devices \[default: disabled]

[**--reportlun2**](#reportlun2)

tell kernel to try REPORT\_LUN even on SCSI2 devices

[**-s**, **--resize**](#s)

look for resized disks and reload associated multipath devices, if applicable

[**--sparselun**](#sparselun)

tell kernel to support sparse LUN numbering

[**--sync**](#sync)

issue a sync \[default: sync if remove]

[**-t**, **--timeout=SECS**](#t)

timeout for testing if device is online. Test is skipped if 0 \[default: 30 (seconds)]

[**-u**, **--update**](#u)

look for existing disks that have been remapped

[**-V**, **--version**](#V)

shows version string then exits. The version string is a numeric datestamp of the form YYYYMMDD.

[**-w**, **--wide**](#w)

scan for target device IDs 0--15 \[default: 0--7]

Host numbers may thus be specified either directly on cmd line (deprecated) or with the **--hosts**=*LIST* parameter (recommended).

Arguments to options that end in *LIST* (e.g. *TLIST*) can have this form:

A\[-B]\[,C\[-D]]...

which is a comma separated list of single values and/or ranges (no spaces allowed).

# [SEE ALSO](#SEE_ALSO)

There is a brief description here: https://fibrevillage.com/storage/585-rescan-scsi-bus-sh-script-for-adding-and-removing-scsi-devices-without-rebooting

**sg3\_utils** Homepage: **https://sg.danny.cz/sg**

2026-06-01 rescan-scsi-bus.sh

---

Document: rescan-scsi-bus.sh(8) from sg3-utils 1.49-r3 (Chainguard OS)
Source: https://github.com/doug-gilbert/sg3_utils.git
