Had this come up with a client recently…
A software vulnerability was discovered that could—potentially—result in a WordPress site throwing 500 errors. My client operates dozens of sites and needed to know if any of their sites were affected. Shell to the rescue.
First, I exported a complete list of sites from their host (WP Engine) as a CSV, then copied the URL column into a file called
hosts.txt. One host per line, something like this:
Then I ran this shell script to loop over each line and use
curl to get the HTTP status of each site:
Which produced this output:
Interesting bits include:
- You can disable curl’s timer output by appending the
echowill trim off the trailing newline character and adding
-ewill render escape characters in the output (like
\tto get a tab).