Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Network monitoring script in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main purpose of a network monitoring script?
To automatically check the status and performance of network devices or connections, helping detect issues early.
Click to reveal answer
beginner
Which command is commonly used in bash scripts to check if a host is reachable?
The ping command is used to send ICMP echo requests to test if a host is reachable.
Click to reveal answer
intermediate
In a bash network monitoring script, how can you log the output of a command to a file?
Use the redirection operator > filename to append output or > filename 2>&1 to include errors.
Click to reveal answer
intermediate
What does the following bash snippet do?
if ping -c 1 8.8.8.8 > /dev/null; then echo 'Up'; else echo 'Down'; fi
It sends one ping to 8.8.8.8, suppresses output, and prints 'Up' if reachable or 'Down' if not.
Click to reveal answer
beginner
Why is it useful to run a network monitoring script periodically using cron?
Because it automates regular checks without manual effort, helping catch network problems early and consistently.
Click to reveal answer
Which bash command is best to check if a website is reachable?
Aping
Bls
Ccat
Dmkdir
What does the option '-c 1' do in the ping command?
ASends one ping packet
BCounts all packets
CContinues pinging forever
DChanges the packet size
How can you suppress the output of a command in bash?
AUse the echo command
BRedirect output to /dev/null
CUse the ls command
DUse the mkdir command
Which tool can schedule a network monitoring script to run every 5 minutes?
Assh
Bvim
Ccron
Dscp
What is a simple way to log the output of a network check to a file?
AUse pwd command
BUse cd command
CUse rm command
DUse >> logfile.txt after the command
Describe how you would write a bash script to check if a server is online and log the result.
Think about sending one ping, checking success, and saving the result quietly.
You got /4 concepts.
    Explain why automating network checks with scripts and scheduling tools is helpful in real life.
    Consider how regular checks help avoid surprises.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a network monitoring script using ping?
      easy
      A. To increase the speed of the network
      B. To install software on remote devices
      C. To change the IP addresses of devices
      D. To check if devices on the network are reachable

      Solution

      1. Step 1: Understand the role of ping

        ping sends a small message to a device to see if it replies, showing if it is reachable.
      2. Step 2: Identify the script's goal

        The script uses ping to detect if devices respond, helping find network problems early.
      3. Final Answer:

        To check if devices on the network are reachable -> Option D
      4. Quick Check:

        Ping checks reachability = B [OK]
      Hint: Ping tests if a device replies to confirm reachability [OK]
      Common Mistakes:
      • Confusing ping with speed testing
      • Thinking ping changes device settings
      • Assuming ping installs software
      2. Which of the following is the correct syntax to ping a device once in a bash script?
      easy
      A. ping /c 1 192.168.1.1
      B. ping -n 1 192.168.1.1
      C. ping -c 1 192.168.1.1
      D. ping 192.168.1.1 -count 1

      Solution

      1. Step 1: Recall the ping option for count

        In Linux bash, -c specifies the number of ping requests to send.
      2. Step 2: Verify the correct command format

        ping -c 1 192.168.1.1 sends exactly one ping to the IP address.
      3. Final Answer:

        ping -c 1 192.168.1.1 -> Option C
      4. Quick Check:

        Use -c for count in ping = D [OK]
      Hint: Use -c to specify ping count in bash [OK]
      Common Mistakes:
      • Using Windows ping options like -n in bash
      • Incorrect option syntax like /c or -count
      • Omitting the count option for single ping
      3. What will be the output of this script snippet?
      if ping -c 1 8.8.8.8 > /dev/null; then
        echo "Host is reachable"
      else
        echo "Host is unreachable"
      fi
      medium
      A. Host is reachable
      B. Syntax error
      C. Host is unreachable
      D. No output

      Solution

      1. Step 1: Understand the ping command behavior

        The command ping -c 1 8.8.8.8 sends one ping to Google's DNS server, which is usually reachable.
      2. Step 2: Analyze the if condition and output

        If ping succeeds, the script prints "Host is reachable"; otherwise, it prints "Host is unreachable".
      3. Final Answer:

        Host is reachable -> Option A
      4. Quick Check:

        Successful ping prints reachable = C [OK]
      Hint: Ping 8.8.8.8 usually succeeds, so output is reachable [OK]
      Common Mistakes:
      • Assuming ping always fails
      • Confusing output redirection with errors
      • Missing that output is suppressed with > /dev/null
      4. Identify the error in this script snippet for monitoring a device:
      for ip in 192.168.1.1 192.168.1.2
       do
        ping -c 1 $ip
        if [ $? -eq 0 ]; then
          echo "$ip is up"
        else
          echo "$ip is down"
        fi
      
      medium
      A. Incorrect ping option '-c'
      B. Missing 'done' to close the for loop
      C. Wrong variable name for IP address
      D. No error, script is correct

      Solution

      1. Step 1: Check for loop syntax completeness

        The for loop starts with for ip in ... but lacks the closing done keyword.
      2. Step 2: Confirm other parts are correct

        The ping command and if condition use correct syntax and variable names.
      3. Final Answer:

        Missing 'done' to close the for loop -> Option B
      4. Quick Check:

        For loops need 'done' to end = A [OK]
      Hint: Always end bash loops with 'done' [OK]
      Common Mistakes:
      • Forgetting 'done' after loops
      • Using wrong ping options
      • Using undefined variables
      5. You want to create a script that checks multiple IPs and logs only unreachable ones to a file named unreachable.log. Which snippet correctly does this?
      hard
      A. for ip in 192.168.1.1 192.168.1.2; do ping -c 1 $ip > /dev/null || echo "$ip unreachable" >> unreachable.log done
      B. for ip in 192.168.1.1 192.168.1.2; do if ping -c 1 $ip > /dev/null; then echo "$ip unreachable" >> unreachable.log fi done
      C. for ip in 192.168.1.1 192.168.1.2; do ping -c 1 $ip >> unreachable.log done
      D. for ip in 192.168.1.1 192.168.1.2; do ping -c 1 $ip || echo "$ip reachable" >> unreachable.log done

      Solution

      1. Step 1: Understand the goal

        The script should log only unreachable IPs to unreachable.log.
      2. Step 2: Analyze each option

        for ip in 192.168.1.1 192.168.1.2; do ping -c 1 $ip > /dev/null || echo "$ip unreachable" >> unreachable.log done uses ping -c 1 $ip > /dev/null || echo "$ip unreachable" >> unreachable.log, which logs IPs only if ping fails (unreachable). for ip in 192.168.1.1 192.168.1.2; do if ping -c 1 $ip > /dev/null; then echo "$ip unreachable" >> unreachable.log fi done logs reachable IPs incorrectly. for ip in 192.168.1.1 192.168.1.2; do ping -c 1 $ip >> unreachable.log done logs all ping output, not just unreachable. for ip in 192.168.1.1 192.168.1.2; do ping -c 1 $ip || echo "$ip reachable" >> unreachable.log done logs reachable IPs as unreachable.
      3. Final Answer:

        for ip in 192.168.1.1 192.168.1.2; do ping -c 1 $ip > /dev/null || echo "$ip unreachable" >> unreachable.log done -> Option A
      4. Quick Check:

        Use '||' to log failures only = A [OK]
      Hint: Use '||' to log only when ping fails [OK]
      Common Mistakes:
      • Logging reachable IPs instead of unreachable
      • Appending all ping output to log
      • Using wrong conditional logic
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard