<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bash on Luke Hebert</title><link>https://lukehebert.com/tag/bash/</link><description>Recent content in Bash on Luke Hebert</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 21 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://lukehebert.com/tag/bash/index.xml" rel="self" type="application/rss+xml"/><item><title>Basic Iptables Insert</title><link>https://lukehebert.com/post/basic-iptables-insert/</link><pubDate>Thu, 21 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/basic-iptables-insert/</guid><description>Learn how to insert iptables rules at a specific position using the -I flag, with syntax breakdown and a practical SSH example.</description></item><item><title>Add Hard and Soft Limits for Apache Stack</title><link>https://lukehebert.com/post/add-hard-and-soft-limits-for-apache-stack/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/add-hard-and-soft-limits-for-apache-stack/</guid><description>Configure the soft and hard stack limits for the Apache user in /etc/security/limits.conf to prevent segmentation faults caused by insufficient stack space.</description></item><item><title>Additional Kernel Tweaks for IPv4 Broadband</title><link>https://lukehebert.com/post/additional-kernel-tweaks-for-ipv4-boradband/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/additional-kernel-tweaks-for-ipv4-boradband/</guid><description>A practical guide to tuning Linux TCP/IP kernel parameters for high-speed, high-latency broadband connections, covering buffer sizing, timeout adjustments, SYN flood protection, and congestion control selection.</description></item><item><title>Awk Apache Log Files By IP and Date</title><link>https://lukehebert.com/post/awk-apache-log-files-by-ip-and-date/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/awk-apache-log-files-by-ip-and-date/</guid><description>Filter Apache access logs by IP address and date using awk. A quick, practical approach to pulling specific entries without loading a full log viewer.</description></item><item><title>Awk Scan for wp-login</title><link>https://lukehebert.com/post/awk-scan-for-wp-login/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/awk-scan-for-wp-login/</guid><description>A quick awk pipeline to pull wp-login.php access attempts from web server logs and flag IPs that exceed a threshold. Useful for spotting brute-force or scanning activity against WordPress sites.</description></item><item><title>AWS EIP (Elastic IP Assignment Script)</title><link>https://lukehebert.com/post/aws-eip-elastic-ip-assignment-script/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/aws-eip-elastic-ip-assignment-script/</guid><description>A lightweight bash script that automatically allocates and assigns an Elastic IP to an EC2 instance at launch using User Data, eliminating the need for manual IP management.</description></item><item><title>Bash Piped Logging</title><link>https://lukehebert.com/post/bash-piped-logging/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/bash-piped-logging/</guid><description>A quick bash logging setup that uses a named pipe and tee to capture stdout and stderr to a file while keeping the terminal interactive. Five lines of shell code, zero external dependencies.</description></item><item><title>Bash Shell Redirects</title><link>https://lukehebert.com/post/bash-shell-redirects/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/bash-shell-redirects/</guid><description>A quick reference for the most common bash shell redirect operators, with examples showing how to send stdout and stderr to files or swap them.</description></item><item><title>Check and Backup Databases</title><link>https://lukehebert.com/post/check-and-backup-databases/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-and-backup-databases/</guid><description>A quick bash workflow for running integrity checks and generating SQL dumps across a set of user databases in MySQL.</description></item><item><title>Check Apache Stack Limit</title><link>https://lukehebert.com/post/check-apache-stack-limit/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-apache-stack-limit/</guid><description>A quick one-liner to inspect the stack size limit applied to a running Apache httpd process on Linux. Useful when debugging segfaults or tuning worker memory.</description></item><item><title>Check Database and Optimize Everything (-A = all databases)</title><link>https://lukehebert.com/post/check-database-and-optimize-everything-all-databases/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-database-and-optimize-everything-all-databases/</guid><description>A quick reference for running mysqlcheck to verify and optimize MySQL databases, including the -A flag to target every database on the server in one pass.</description></item><item><title>Check Disk State</title><link>https://lukehebert.com/post/check-disk-state/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-disk-state/</guid><description>A quick one-liner to list every mounted ext3 or ext4 partition along with its label and filesystem state, useful for spotting unclean shutdowns or journal issues at a glance.</description></item><item><title>Check for IP Block</title><link>https://lukehebert.com/post/check-for-ip-block/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-for-ip-block/</guid><description>A quick way to verify whether a specific IP address is blocked by iptables rules on a Linux host. Covers the exact command and how to read the output.</description></item><item><title>Check Inode Counts with Formatting</title><link>https://lukehebert.com/post/check-inode-counts-with-formating/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-inode-counts-with-formating/</guid><description>Practical bash one-liners for counting inodes per directory and reporting disk usage with formatted output. Handy when you need a quick snapshot of filesystem pressure without pulling in a full monitoring tool.</description></item><item><title>Check Web Crawler Impact</title><link>https://lukehebert.com/post/check-web-crawler-impact/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-web-crawler-impact/</guid><description>A quick bash function to identify which search engine crawlers are hitting your Apache logs and how often, so you can spot unusual traffic patterns at a glance.</description></item><item><title>Chroot Suggested Mounts for Rescue</title><link>https://lukehebert.com/post/chroot-suggested-monts-for-rescue/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/chroot-suggested-monts-for-rescue/</guid><description>A quick walkthrough of using virt-rescue to generate the correct mount commands for a chroot rescue session on a libvirt guest.</description></item><item><title>Count Unique Connecting Addresses</title><link>https://lukehebert.com/post/count-unique-connecting-addresses/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/count-unique-connecting-addresses/</guid><description>A quick pipeline using awk, sort, and uniq to count how many times each unique IP address appears in a log file. Handy for spotting the most active or suspicious clients at a glance.</description></item><item><title>Counting Connecting IPs on Port 80 with netstat and ss</title><link>https://lukehebert.com/post/connecting-ip-on-port-80-count-netstat-ss/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/connecting-ip-on-port-80-count-netstat-ss/</guid><description>Two quick one-liners that count how many unique remote IPs are connected to port 80, using either netstat or ss. Handy for spotting unexpected traffic or verifying that only expected clients are hitting your web server.</description></item><item><title>Crontab Log</title><link>https://lukehebert.com/post/crontab-log/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/crontab-log/</guid><description>Find where cron logs live on your Linux system and learn how to read them to confirm scheduled jobs actually ran.</description></item><item><title>DNS Amplification Attack</title><link>https://lukehebert.com/post/dns-amplifcation-attack/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/dns-amplifcation-attack/</guid><description>A DNS amplification attack floods a victim with forged responses by exploiting open resolvers. This post walks through iptables rules and BIND hardening steps to block the attack vector.</description></item><item><title>Drop All Mail in Exim</title><link>https://lukehebert.com/post/drop-all-mail-in-exim/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/drop-all-mail-in-exim/</guid><description>A quick one-liner to flush every message out of the Exim mail queue. Useful when a misconfigured relay or a flood of bounce messages has clogged up your server.</description></item><item><title>Emergency Extraction: When RPM Bites the Dust</title><link>https://lukehebert.com/post/rpm2cpio/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/rpm2cpio/</guid><description>Learn how to manually decompress an RPM package into a working directory using rpm2cpio and cpio, without installing the package.</description></item><item><title>Filter RPM URLs with awk</title><link>https://lukehebert.com/post/filter-rpm-urls-with-awk/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/filter-rpm-urls-with-awk/</guid><description>A quick awk one-liner that pulls RPM package URLs from log files or package lists by matching lines containing both &amp;lsquo;autoinstall&amp;rsquo; and &amp;lsquo;.rpm&amp;rsquo;.</description></item><item><title>Fixing MySQL Invalid Keys</title><link>https://lukehebert.com/post/fix-mysql-invalid-keys/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/fix-mysql-invalid-keys/</guid><description>A quick bash script to identify and repair MySQL tables with invalid or corrupted MYI key files, then force a rebuild using USE_FRM.</description></item><item><title>Following the Mailman: Tracking Your Email's Route</title><link>https://lukehebert.com/post/verbose-tracking-of-mail-being-sent/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/verbose-tracking-of-mail-being-sent/</guid><description>A quick reference for enabling verbose output when sending mail from the command line, so you can see the full SMTP transaction and diagnose delivery issues.</description></item><item><title>Fsck Quick Reference</title><link>https://lukehebert.com/post/fsck/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/fsck/</guid><description>A quick reference for running a forced, verbose ext filesystem check with automatic repairs and timestamped logging.</description></item><item><title>gdb Thread Dumps</title><link>https://lukehebert.com/post/gbb-thread-dump/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/gbb-thread-dump/</guid><description>A quick three-command recipe for grabbing a full thread backtrace from a running httpd process with gdb, useful when Apache appears hung or unresponsive.</description></item><item><title>Getting Gateway Hostnames from Mail Logs</title><link>https://lukehebert.com/post/get-gateway-hostnamed-from-mail-log/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/get-gateway-hostnamed-from-mail-log/</guid><description>A quick bash one-liner to pull offending IP addresses from exim relay-denied entries and resolve them to hostnames, making it easier to identify which gateways are misconfigured.</description></item><item><title>InnoDB Corruption and Recovery Guide</title><link>https://lukehebert.com/post/innodb-corruption-and-recovery-guide/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/innodb-corruption-and-recovery-guide/</guid><description>A practical, step-by-step guide for diagnosing and recovering from common InnoDB corruption issues, covering first response, log analysis, checksum verification, and data restoration techniques.</description></item><item><title>IP Tables Rate Limit Apache</title><link>https://lukehebert.com/post/ip-tables-rate-limit-apache/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ip-tables-rate-limit-apache/</guid><description>A quick way to throttle inbound HTTP traffic to your Apache server using iptables, protecting it from traffic spikes and simple DoS attempts.</description></item><item><title>IP Tables Rate Limit Bad Bots</title><link>https://lukehebert.com/post/ip-tables-rate-limit-bad-bots/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ip-tables-rate-limit-bad-bots/</guid><description>Use iptables string matching and the recent module to drop connections from abusive bots that exceed a request threshold within a short window.</description></item><item><title>Just a quick way to look at Inode Counts</title><link>https://lukehebert.com/post/inode-counts/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/inode-counts/</guid><description>A quick bash one-liner to identify which directories are consuming the most inodes on a Linux system, helping you pinpoint the source of &amp;lsquo;No space left on device&amp;rsquo; errors when disk space still appears available.</description></item><item><title>Locate Files Based on Time Modified with find</title><link>https://lukehebert.com/post/locate-files-based-on-time-modified-how-many-days-since-it-has-been-modified/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/locate-files-based-on-time-modified-how-many-days-since-it-has-been-modified/</guid><description>A quick reference for using find with -mtime and -mmin to locate files by how long ago they were last modified, including the common off-by-one confusion around the +1 flag.</description></item><item><title>Locate Largest Files Top 10</title><link>https://lukehebert.com/post/locate-largest-files-top-10/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/locate-largest-files-top-10/</guid><description>A quick one-liner to identify the ten largest files or directories under any path. Useful when disk space is tight and you need to find what is eating your storage.</description></item><item><title>Lsof Check Listening Ports</title><link>https://lukehebert.com/post/lsof-check-listening-ports/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/lsof-check-listening-ports/</guid><description>A quick way to list every port a process is listening on, using lsof and a simple grep filter. Handy for troubleshooting connectivity issues or auditing what services are exposed on a host.</description></item><item><title>Making the Cut: Slicing Up Text in the Linux CLI</title><link>https://lukehebert.com/post/usage-of-cut/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/usage-of-cut/</guid><description>A quick reference for the cut command, covering how to split text by a delimiter and extract specific fields. Useful for parsing CSV, log files, and other delimited data from the command line.</description></item><item><title>Memory by Process</title><link>https://lukehebert.com/post/memory-by-process/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/memory-by-process/</guid><description>A quick one-liner to group running processes by name and rank them by memory usage. Handy when you need to spot which services are eating RAM without pulling up a full top or htop session.</description></item><item><title>Mod_qos Tailblock</title><link>https://lukehebert.com/post/mod-qos-tailblock/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/mod-qos-tailblock/</guid><description>A lightweight bash script that monitors Apache error logs for repeated access-denied entries and automatically blocks offending IPs via iptables. Useful for quick-and-dirty rate-based blocking without a full WAF.</description></item><item><title>Monitor DNS Zone Reload</title><link>https://lukehebert.com/post/monitor-dns-zone-reload/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/monitor-dns-zone-reload/</guid><description>A quick workflow for triggering a DNS zone reload with rndc and confirming the result in the system log. Covers the two commands you need and what to look for in the output.</description></item><item><title>Mount a Labeled Drive Like Backup</title><link>https://lukehebert.com/post/mount-a-labeled-drive-like-backup/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/mount-a-labeled-drive-like-backup/</guid><description>Learn how to mount a filesystem by its label in /etc/fstab so your mount points stay stable across reboots and hardware changes.</description></item><item><title>Multi-test (Emulating a Busy Server)</title><link>https://lukehebert.com/post/multi-test-emulating-a-busy-server/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/multi-test-emulating-a-busy-server/</guid><description>A Perl-based utility that emulates a busy server by spawning multiple threads performing varied IO workloads. It uses direct IO and cache invalidation to benchmark raw disk performance in a multitasking environment.</description></item><item><title>My Trace Route (mtr) Packet Loss Testing</title><link>https://lukehebert.com/post/my-trace-route-mtr-packet-loss-testing/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/my-trace-route-mtr-packet-loss-testing/</guid><description>A quick walkthrough of using mtr in report mode to capture packet loss data across network hops. Learn how to run a 30-cycle test and read the output to isolate where loss is occurring.</description></item><item><title>MyISAMchk</title><link>https://lukehebert.com/post/myisamchk/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/myisamchk/</guid><description>A quick reference for repairing corrupted MyISAM index files with myisamchk, including the exact command and what to expect when running it against a database directory.</description></item><item><title>Netstat and SS: Check Listening Ports</title><link>https://lukehebert.com/post/netstat-ss-check-listening-ports/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/netstat-ss-check-listening-ports/</guid><description>A quick reference for checking listening ports on Linux using netstat and ss, including the flags that matter and what each output column means.</description></item><item><title>Nginx Load Balancing</title><link>https://lukehebert.com/post/nginx-load-balancing/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/nginx-load-balancing/</guid><description>A practical walkthrough of setting up Nginx round-robin load balancing, including upstream configuration, weighted distribution, IP hashing, and failover directives.</description></item><item><title>Nginx Multiple Conditional Test</title><link>https://lukehebert.com/post/nginx-multiple-conditional-test/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/nginx-multiple-conditional-test/</guid><description>Learn how to chain multiple if conditions in Nginx to build a composite variable and route traffic based on the combined result.</description></item><item><title>Nginx ngx_http_rewrite_module</title><link>https://lukehebert.com/post/nginx-mod-rewrite-module/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/nginx-mod-rewrite-module/</guid><description>A practical reference for Nginx&amp;rsquo;s ngx_http_rewrite_module, covering the break, if, return, rewrite, set, and related directives with working examples and processing-order details.</description></item><item><title>Noapic</title><link>https://lukehebert.com/post/noapic/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/noapic/</guid><description>The noapic kernel parameter disables the Advanced Programmable Interrupt Controller, a useful workaround for interrupt routing issues on older or misconfigured systems.</description></item><item><title>NUMA and MySQL Swap Insanity</title><link>https://lukehebert.com/post/numa-mysql-swap-insanity/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/numa-mysql-swap-insanity/</guid><description>A deep dive into why MySQL on NUMA systems suffers from unpredictable swapping, and how a single numactl interleave fix eliminates the problem entirely.</description></item><item><title>NUMA: An Update to the MySQL Swap Insanity</title><link>https://lukehebert.com/post/numa-update-to-mysql-swap-insanity/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/numa-update-to-mysql-swap-insanity/</guid><description>A follow-up to the original MySQL NUMA swap post, explaining why the real issue is memory pressure on a single NUMA node rather than swap itself, and outlining a three-part solution for balanced allocation in production.</description></item><item><title>Permission Rescue: getfacl to Save Your Future Self</title><link>https://lukehebert.com/post/restore-permissions-on-or-get-permissions-on-all-files-and-folder-in/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/restore-permissions-on-or-get-permissions-on-all-files-and-folder-in/</guid><description>A quick reference for backing up and restoring full ACL permissions across an entire directory tree using getfacl and setfacl.</description></item><item><title>ps aux States</title><link>https://lukehebert.com/post/ps-aux-states/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ps-aux-states/</guid><description>A quick reference for the process state codes shown in the STAT column of ps aux, including both standard and BSD-specific flags.</description></item><item><title>Regex Quick Reference</title><link>https://lukehebert.com/post/regex/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/regex/</guid><description>A practical cheat sheet covering common regex patterns, Perl-compatible lookarounds, and character classes for everyday text processing in bash and grep.</description></item><item><title>Reject with Comment</title><link>https://lukehebert.com/post/reject-with-comment/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/reject-with-comment/</guid><description>A quick iptables one-liner to reject TCP traffic from a specific source IP with a TCP reset, tagged with a human-readable comment for future reference.</description></item><item><title>Stop Slow Loris Attacks</title><link>https://lukehebert.com/post/stop-slow-loris-attacks/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/stop-slow-loris-attacks/</guid><description>Slow Loris attacks tie up web server sockets with trickling requests until legitimate traffic is starved. This post walks through configuring Apache mod_qos to detect and block those connections automatically.</description></item><item><title>Sync MySQL Time</title><link>https://lukehebert.com/post/sync-mysql-time/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/sync-mysql-time/</guid><description>A quick procedure to verify and correct a time mismatch between the host system clock and MySQL&amp;rsquo;s internal NOW() function, using a simple service restart.</description></item><item><title>The Inode Rescue: Finding Lost Souls with Printf</title><link>https://lukehebert.com/post/find-command-printf-switches-lost-found-and-find-output-format/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/find-command-printf-switches-lost-found-and-find-output-format/</guid><description>A quick reference for GNU find -printf format switches, with practical examples for inspecting file ownership, size, and mode. Includes a use case for auditing files recovered into lost+found after a filesystem check.</description></item><item><title>Understanding Linux Permissions</title><link>https://lukehebert.com/post/understanding-linux-permissions/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/understanding-linux-permissions/</guid><description>A practical breakdown of how Linux file permissions work, including the symbolic and numeric chmod methods, special bits like setuid and sticky, and how permissions differ between files and directories.</description></item><item><title>Understanding Load Averages</title><link>https://lukehebert.com/post/understanding-load-averages/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/understanding-load-averages/</guid><description>A practical guide to reading Linux load averages, with a traffic analogy that makes the numbers click. Learn the thresholds that matter, how multi-core systems change the math, and which of the three averages to watch.</description></item><item><title>Unmounted Disk Labels</title><link>https://lukehebert.com/post/unmounted-disk-labels/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/unmounted-disk-labels/</guid><description>A quick bash one-liner that lists every disk label present in /dev/disk/by-label/ that is not currently mounted, so you can spot forgotten or orphaned volumes at a glance.</description></item><item><title>Updating VM Memory Usage Configs</title><link>https://lukehebert.com/post/update-vm-memory-usage/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/update-vm-memory-usage/</guid><description>Tune Linux VM memory behavior by adjusting vfs_cache_pressure, dirty_ratio, and swappiness to reduce unnecessary swapping and improve I/O throughput.</description></item><item><title>User Performance Data on MySQL</title><link>https://lukehebert.com/post/user-performance-data-on-mysql/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/user-performance-data-on-mysql/</guid><description>A quick bash one-liner that pulls per-user CPU time, connection counts, and active session details from MySQL&amp;rsquo;s INFORMATION_SCHEMA and processlist tables.</description></item><item><title>Check Entropy Levels on Linux</title><link>https://lukehebert.com/post/check-entropy-levels-on-linux/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-entropy-levels-on-linux/</guid><description>Learn how to check and interpret the kernel entropy pool on Linux, why low entropy can slow down SSL handshakes and SSH sessions, and what to do when the pool runs dry.</description></item><item><title>Mount Output in Columns: Formatted Output for Mount List</title><link>https://lukehebert.com/post/mount-output-in-columns-formatted-output-for-mount-list/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/mount-output-in-columns-formatted-output-for-mount-list/</guid><description>Pipe the mount command through column -t to get a clean, aligned table of all mounted filesystems. A quick sysadmin trick for scanning devices, mount points, and options at a glance.</description></item></channel></rss>