• bash script kill whois or other command that is running for too long


    Adjust to suit your needs. Currently this would kill any whois process running for more than 30 seconds or more than 1 minute. Add it as a cronjob. The motivation is that some commands have no timeout and just end up using up CPU and memory for no reason while never exiting to free resources. #!/bin/bash IFS=$(echo -en "nb") for pid in `ps aux|grep whois`; do echo "pid=::$pid::&qu........
  • bash if statement how to test program output without assigning to variable


    A common method in bash is to assign output to a variable like this: somevar=`uptime` That works too but it could be more efficient to do something like this: if [[ $(uptime|awk '{print $3}') > 20 ]]; then echo "uptime greater than 20 days"; fi........
  • Linux delete unused tap devices automatically


    This will find all tap devices and try deleting all of them. Of course don't run this if there is a chance an unused tap device is necessary and would not be created by the script ro application using it. for tap in `ifconfig -a|grep tap[0-255]|awk '{print $1}'`; do tunctl -d $tap done........
  • Linux Bash Script To List All Connected IPs and their network name


    for ip in `netstat -nt|awk '{ print $5 }'|cut -d ":" -f 1|tail -n +3|sort|uniq`; do echo $ip;whois $ip|grep -i netname;echo "---------------------------" done 77.88.47.40 netname: YANDEX-77-88-47 --------------------------- 40.77.167.5 ------........
  • proxmox vm networking breaks when you restart your network on the hostnode


    Idid a systemctl restart networking and it broke Proxmox VM connectivity! #proxmox is the problem after restarting the network the tap devices go to disabled state [2230884.919905] vmbr0: port 7(tap118i0) entered disabled state [2230884.948864] vmbr0: port 8(tap122i0) entered disabled state [2230884.972748] vmbr0: port 6(tap119i0) entered disabled state [2230885.004745] vmbr0: port 5(tap117i0) entered disabled state [2230885.03673........
  • bash script to remove modules from httpd.conf that are not actually installed


    confmodules=`cat /etc/httpd/conf/httpd.conf |grep -v ^#|grep "modules/"|awk '{print $3}'|cut -d "/" -f 2` for module in $confmodules; do echo "module=$module" if [ ! -f /etc/httpd/modules/$module ]; then linenum=`awk /"$module/{ print NR; exit}" /etc/httpd/conf/httpd.conf` sed -i "$linenum"s/.*// /etc/httpd/conf/httpd.conf &n........
  • bash scripting how to create a function


    function centos7 { release=`cat /etc/redhat-release|awk '{print $4}'|grep ^[7]` if [ "$release" != "" ]; then centos7='yes' fi } centos7 echo "$centos7" We create a function called "centos7" and then call it by just typing "centos7" We then access a variable that may be set........
  • bash script how to to check LAN computers for open ports


    In this case it just searches for port 80 it is fairly handy if you have some sort of appliance or something else you aren't sure of the IPof Of course change the port 80 port to whatever port(s) you want. for ip in `arp -n|arp -n|tail -n +2|head -n -1 |grep -v incomplete|awk '{print $1}'`; do echo "checking $ip:80" nc -w 1 -z $ip 80 if [ "$?" == 0 ]; then echo "**Port 8........
  • gvfs mount in /run/user cannot be accessed or displayed wrong permissions


    The folder contents could not be displayed Backend currently unmounting drwx------ 10 userhere group 260 Aug 23 19:40 .. ?????????? ? ? ? ? ? sftp:host=192.168.8.80,user=adhoc ls: cannot access 'sftp:host=192.168.8.80,user=adoc': Input/output error $ ps aux|grep fuse one 253........
  • VMWare ESXi 6.7 SSH/PowerShell CLI Commands


    [root@localhost:~] BootModuleConfig.sh echo host-ind nfcd........
  • *** These critical programs are missing or too old: gawk


    checking whether autoconf works... ../configure: line 5377: 7325 Segmentation fault $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1 no configure: error: *** These critical programs are missing or too old: gawk *** Check the INSTALL file for required versions. ........
  • bash find line and replace howto


    First find the line number: awk '/what you are searching for/{ print NR; exit }' input-file 86 Now use sed to replace it: sed -i 86s/.*/"your replacement text"/ $file Here is a full sample script to automate it: file=some/f........
  • pcimodules and lspci not working alternative solution


    pcimodules no longer works it produces nothing probably because the format of /sys/bus/pci is different. lspci -k doesn't work on older lspci versions. pciutils can be compiled but it won't work if you have an old system and compile on a newer glibc. iteriate through /sys/bus/pci/devices/*/modalias cat /sys/bus/pci/devices/*/modalias pci:v00008086d00001237sv00000000sd00000000bc06sc00i00 pci:v00008086d00007000sv0000000........
  • How to find and mount mdadm arrays automatically


    A great way if you have a bunch of drives and mdadm connected and are looking for backups/archives and don't know what is where! for md in `cat /proc/mdstat|grep md[0-99]|awk '{print $1}'`; do mkdir /mnt/$md; mount /dev/$md /mnt/$md; done........
  • Linux bash script to see what connected computers respond to ping


    A great way when moving your equipment to a new location, new router/switch etc to help confirm what MAC has what IP: for ip in `arp -na|awk '{print $2}'|sed s/(//g|sed s/)//g`; do echo ping $ip ping -c 1 -w 1 $ip > /dev/null if [ "$?" == 0 ]; then echo "$ip UP" fi done........
  • OpenVZ mass ip update


    The file ipupdate.txt should look like this: ip.ip.ip.ip ctid while read -r; do ip=$REPLY setip=`echo $ip|awk '{print $1}'` ctid=`echo $ip|awk '{print $2}'` echo "vzctl set $ctid --ipadd $setip --save" vzctl set $ctid --ipadd $setip --save done < ipupdate.txt........
  • bash script Get Model and Serial Number of All Hard Disks in Server on Linux


    for disk in `fdisk -l|grep "Disk /dev"|awk '{print $2}'|sed s/://g`; do echo "$disk" && smartctl -d ata -a "$disk" -T permissive|grep -iE 'Device Model:|Serial Number:' echo "---------------" done *Make sure you have smartctl from smartmon tools installed Sample output: /dev/sdc Device Model: ........
  • Linux bash how to list files of a certain date with the statu command for scripting


    The command below will show only files created for the month of 2014-12 but you can of course change the year, month or even specific day or time to suit your needs. The awk command simply just makes it output the list of files created on the date you are looking for. stat -c "%z %n" *|grep ^"2014-12"|awk '{print $4}'........
  • [emerg] (28)No space left on device: Couldn't create accept lock (/etc/httpd/logs/accept.lock.15449) (5) solution


    [Wed Jan 08 18:50:07 2014] [emerg] (28)No space left on device: Couldn't create accept lock (/etc/httpd/logs/accept.lock.15449) (5) This may happen when trying to restart Apache and you find it dies right after starting and check /var/log/httpd/error_logs. What is the cause of this? You could be out of disk space (if you're not then see #2 and below) You're out of Semaphores, you need to kill all the old ones.........
  • Linux find what processes are swapping


    Here is a handy script that will check all processes and report what is swapping #!/bin/bash for pid in `ps x|awk '{print $1}'`; do result=`cat /proc/$pid/status|grep VmSwap|awk '{print $2}'|grep -v ^"0"` if [ ! -z "$result" ]; then programresult=`ps x|grep $pid|grep -v grep` if [ $? == 0 ]; then program=`echo $programresult|awk '{print $5}'|grep -v ^grep`........
  • CPanel suhosin install failed


    /scripts/phpextensionmgr install PHPSuHosin Updating md5sum list Fetching http://httpupdate.cpanel.net/cpanelsync/easy/targz.yaml (connected:0).......(request attempt 1/12)...Resolving httpupdate.cpanel.net...(resolve attempt 1/65)... Fetching http://httpupdate.cpanel.net/mirror_addr_list (connected:0).......(request attempt 1/3)......connecting to 74.50.120.123...@74.50.120.123......connected......receiving...100%......request success......Done........
  • yum in Centos 5/Xen halts and exits suddenly


    yum exits in the middle The problem is this VPS seems to be an OpenVZ template from HyperVM. The only way to make it work was to disable i386 packages since this was an x64 kernel. That shouldn't be necessary but it was the only way to make yum stop quitting after the first package or two. I couldn't find any issue by checking the logs either. echo y|yum install vim-minimal telnet expect jwhois net-tools slocate iptables elinks gawk L........
  • PHP cannot access /usr/bin/openssl


    PHP cannot access /usr/bin/opensslI have verified the username that runs the process is able to access /usr/bin/openssl and it does exist but the PHP script is saying it doesn't exist: [code:1:1fd0f3abbe] if (!file_exists($OPENSSL)) { //echo "ERROR: OPENSSL $OPENSSL not foundn"; }[/code:1:1fd0f3abbe] I don't get itI can clearly see the contents of /usr/bin by using the PHP system fu........
  • Latest Articles

  • Linux Ubuntu Cannot Print Large Images
  • Cannot Print PDF Solution and Howto Resize
  • Linux Console Login Screen TTY Change Message
  • Apache Cannot Start Listening Already on 0.0.0.0
  • MySQL Bash Query to pipe input directly without using heredoc trick
  • CentOS 6 and 7 / RHEL Persistent DHCP Solution
  • Debian Ubuntu Mint rc-local service startup error solution rc-local.service: Failed at step EXEC spawning /etc/rc.local: Exec format error
  • MySQL Cheatsheet Guide and Tutorial
  • bash script kill whois or other command that is running for too long
  • Linux tftp listens on all interfaces and IPs by DEFAULT Security Risk Hole Solution
  • python import docx error
  • Cisco Unified Communications Manager Express Cheatsheet CUCME CME
  • Linux Ubuntu Debian Missing privilege separation directory: /var/run/sshd
  • bash how to count the number of columns or words in a line
  • bash if statement how to test program output without assigning to variable
  • RTNETLINK answers: Network is unreachable
  • Centos 7 how to save iptables rules like Centos 6
  • nfs tuning maximum amount of connections
  • qemu-kvm error "Could not initialize SDL(No available video device) - exiting"
  • Centos 7 tftpd will not work with selinux enabled