Have you ever attempted to review server logs only to find out it was too late? WordPress sites with Kinsta keep the last few days of server logs. That’s great for fixing an immediate issue, however, it’s not a good long-term solution for troubleshooting. There are paid services like Papertrail, which allow for long-term server log collection. For simple troubleshooting, this feels like overkill. The following is how I enable long-term server logs with Kinsta.
Enabling log term server logs over SSH
Start by SSHing into the WordPress site and create a new folder where we will store the log files.
Next, create a new script
~/private/archive-logs.sh with the following.
cd ~ for file in $( ls logs/*gz ); do log_file=$( basename $file ) if [ ! -f "private/log-archive/$log_file" ]; then echo "Saving $log_file to ~/private/log-archive/" cp $file private/log-archive/ else echo "Skiping $log_file" fi done
Grant the script execute permissions.
chmod +x ~/private/archive-logs.sh
Schedule the script to run a few times per day. Run
crontab -e and add the following line to the end of your crontab file. Be sure to update the hard-coded path to match your site. You can find that out if you run
0 */3 * * * /www/sitename_123/private/archive-logs.sh
Downloading and viewing logs
After a few months, your log archive will look something like this.
To package up these files we can do the following:
cd ~/private/ zip -r log-archive.zip log-archive/ mv log-archive.zip ~/public cd ~/public/ echo "$( wp option get home --skip-themes --skip-plugins )/log-archive.zip"
Click on the link or copy it and open it manually. Not all terminals support link clicking. After you have downloaded
log-archive.zip, be sure to remove the zip file so it can’t be downloaded again by someone else.
The easiest way I’ve found to view the files is with VS Code. If you have
code loaded in your path then you can unzip the archive, extract the .gz files, and open the log files locally like so:
cd ~/Downloads unzip log-archive.zip cd log-archive/ gzip -d *.gz code .
This will launch VS Code into a directory. From here we can manually look at each log file or search for all log files.
The real power of VS Code comes with complex searching capabilities. You can use regular expressions to find very particular patterns.
Depending on your website, these logs can end up taking up a fair amount of disk space. After you uncover the technical issues you’re working with, it would be a good idea to turn off long-term collections.