Explanation of the Morning Check Shell Script

Overview

This HTML file explains the purpose and behavior of your Linux .sh script. The script performs a series of “morning checks” to verify that the system is healthy, responsive, and ready for use.

1. Timestamp Output

The script begins by printing a header and the current date/time using: date. This simply marks when the checks were performed.

2. Loopback Ping Test

The script pings the loopback address 127.0.0.1: ping -c 4 127.0.0.1.

This verifies that the local TCP/IP stack is functioning correctly. If this fails, the machine has a serious networking issue.

3. External Network Connectivity

The script pings 1.1.1.1 (Cloudflare DNS): ping -c 4 1.1.1.1.

This checks whether the system can reach the outside world. A failure here usually means no internet or a routing problem.

4. Disk Usage Check

The script runs: df -h /

This displays disk usage for the root filesystem. It helps detect low‑storage conditions early.

5. System Load Check

The script uses: uptime

This shows system load averages and how long the machine has been running. High load values may indicate heavy CPU usage or runaway processes.

6. Memory Usage

The script runs: free -h

This displays RAM usage in a human‑readable format. It helps identify memory pressure or swap usage.

7. Top CPU Processes

The script lists the top CPU‑consuming processes: ps -eo pid,comm,%cpu --sort=-%cpu | head -n 6

This provides a quick snapshot of what is using the most CPU at the moment.

8. Service Health Checks

The script checks whether certain services (like ssh and cron) are active using: systemctl is-active.

This ensures critical background services are running properly.

Summary

In short, the script performs a quick but thorough health check of:

It’s a lightweight diagnostic tool you can run manually or schedule automatically.