systems admin troubleshooting
Server Troubleshooting
uptime
df -h
free -m
netstat -an
netstat -tlpn
ps wwauxf
uname -a
cat /proc/user_beancounters
top
Top Command
top – shows live system processes in a nice table, memory information, uptime and other useful info. This is excellent for managing your system processes, resources and ensure everything is working fine and your server isn’t bogged down.
top then type Shift + M to sort by memory usage or Shift + P to sort by CPU usage
RAM Usage
free -m – shows memory info
Disk Space Usage
df -u – show disk space
df -h – show disk space
df -k – displays output in bytes
df -h – displays output in human-readable form
df -T – display what type of file system
df -i – displays inodes
du -h –max-depth=1 – search folder size
du – show directory space usage – show directory structure
du -sh *– shows a summary, in human-readable form, of the total disk
du –max-depth=1 -h – space used in the current directory, including sub-directory – same thing, but for each file and directory. helpful when finding large files taking up space
find . -maxdepth 2 -type d -exec du -sh {} \; – Shows disk usage down to 2 levels
Websites not loading after a Plesk Upgrade
# ./nginxmng -d
Inode Issues On Server
echo “Detailed Inode usage for: $(pwd)” ; for d in `find -maxdepth 1 -type d |cut -d\/ -f2 |grep -xv . |sort`; do c=$(find $d |wc -l) ; printf “$c\t\t- $d\n” ; done ; printf “Total: \t\t$(find $(pwd) | wc -l)\n”
cat /proc/user_beancounters –
updatedb – it scans the whole system and updates the mlocate.db database file.
date – show the current date and time
cal – show this month’s calendar
uptime – show current uptime
w – display who is online
who – username
pwd – shows the directory that you are in
whoami – who you are logged in as
finger user – display information about the user
which – tells your where the program is installed
echo – displays content
echo “text content” | text “filename.ext” – will create a file and add text inside it
whereis – lets you know if you have a program installed
whatis – lets you know what a program does
sync; echo 3 > /proc/sys/vm/drop_caches/var/www/vhosts/domain.com/httpdocs/
User Admin
last – shows who logged in and when
last -20 – shows only the last 20 logins
last -20 -a – shows the last 20 logins, with the hostname in the last field
w – shows who is currently logged in and where they are logged in from.
passwd – change root password
SSH Access
ssh user@<server ip address> – ssh into the server
ssh user@hostname – ssh into the server
Setting time via ssh
date -s “2 OCT 2006 18:00:00” – change date and time
date – check date and time
/var/log/sw-cp-server/error_log – error Log path
Test Apache Before Restart
/usr/sbin/apachectl configtest
Send a Test Email
mail -s “Test” ‘easyspacetesting@gmail.com’
Email Logs
cat /var/log/messages
zgrep “email address” “maillog”
cat /usr/local/psa/var/log/maillog
MySQL Logs
cat /var/log/mysql.log
Apache Error Logs
cat /var/log/httpd/error.log
ssh Access Logs
cat /var/log/secure
Plesk Access Logs
cat /var/log/sw-cp-server/error_log
Message Logs
cat /var/log/messages
http://kb.parallels.com/en/111283
Useful Bash Scripts for Linux System Administrator
touch sysinop.sh
chmod +x ./sysinop.sh
vi ./sysinop.sh