dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
The result is something like this :
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 1.43334 s, 375 MB/s
dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
The result is something like this :
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 1.43334 s, 375 MB/s
Download the driver RPMs from adaptec website, as I have 5805z controller, I downloaded the drivers from here :
http://www.adaptec.com/en-us/support/raid/sas_raid/sas-5805z http://www.adaptec.com/en-us/downloads/rh/rhel_5/productid=sas-5805z&dn=adaptec+raid+5805z.html
You will get a file like this :
aacraid_linux_rpms_v1.1.7-28700.tgz
unpack it :
tar zxvf aacraid_linux_rpms_v1.1.7-28700.tgz
to get :
aacraid-1.1.7-28700.rpm
install rpm :
rpm -ivh --force aacraid-1.1.7-28700.rpm
it will only extract the files to /opt/Adaptec/aacraid :
cd /opt/Adaptec/aacraid mkdir mods mv aacraid_prebuilt.tgz mods cd mods tar zxvf aacraid_prebuilt.tgz rm *.tgz
now you have prebuilt module for different kernels, copy the appropriate kernel module to aacraid.ko path, a command like :
cp aacraid-2.6.18-238.el5xen-x86_64 /lib/modules/2.6.18-274.18.1.el5xen/kernel/drivers/scsi/aacraid/aacraid.ko
if you have locate package installed, you can easy find all aacraid.ko files :
locate aacraid.ko | xargs -n1 modinfo | grep vers
when it is complete, reboot the server.
As simple as one single command :
find -type d -empty -delete
After my previous article which explained how to backup MySQL DBs to an email address , I am going to provide a more perfect solution in this article 🙂
The previous solution had some drawbacks and some advantages but the biggest problem was about the size of backup. although we compress the data with bzip2 algorithm which provides a high level of compression but in many cases, the attachment size will exceed 25MB or the limit of your email box. so it can not be used with public email services or will need a personal email server.
a better solution is to backup the data to a remote FTP server. in this case we will have almost no limit on file size (depending on your remote FTP server).
A perfect place to backup your files is fileserve.com , it offers 500GB of space for free and FTP access to it ! it is awesome ! I would recommend to upgrade to their premium service.
click on this link to signup for your free account : FileServe.com Free Account
also we will employ encryption to make sure our data is safe in transmit and in remote location.
to use this solution make sure bzip2, mcrypt and ncftp are installed on your server. I am not going into the details of installing each package, Google is your friend 🙂
so lets say you want to backup /var/www folder, use the following command :
tar jcf - /var/www | mcrypt -k 'SOME_LONG_COMPLEX_KEY' | ncftpput -c -u FTP_USER -p FTP_PASS FTP_HOST /PREFIX-`date +%Y%m%d`
this only command will compress the whole /var/www folder by tar and bzip2 at the same time encrypt it by your key and at the same time will upload it to remote FTP server !
omg ! thats why I love Linux ! you can put it in your crontab to create automatic backups.
now lets say you want to backup all MySQL DBs , you can use the following command :
mysqldump --user=USERNAME --password=PASSWORD -A | bzip2 | mcrypt -k 'SOME_LONG_COMPLEX_KEY' | ncftpput -c -u FTP_USER -p FTP_PASS FTP_HOST /PREFIX-`date +%Y%m%d`
the combinations and possibilities are limitless !
I just gave you the idea and showed you the power, use your own brain to make your perfect solution 😉
Just something else , if you needed to decrypt the file , you can use the following command :
mcrypt -d FILE_NAME -k 'YOUR_LONG_COMPLEX_KEY' > NEW_FILE_NAME
Make sure mutt & bzip2 are installed on your server.
Change USERNAME & PASSWORD to your MySQL login credentials.
Change email@domain.com to your email which can accept large attachments (gmail is recommended, currently it accepts attachments up to 25MBs)
Put the following line in your crontab. you can access crontab by this command : crontab -e
0 0 * * * mysqldump --user=USERNAME --password=PASSWORD -A | bzip2 > ~/AllDBsBackup.bz2 && echo | mutt -a ~/AllDBsBackup.bz2 -s "All DBs Daily Backup" -- email@domain.com
The following easy steps will install snmp daemon on your CentOS/RHEL server :
yum install net-snmp net-snmp-utils
now snmpd simple configuration ( change SECRET_NAME to a complex string ) :
echo rocommunity SECRET_NAME > /etc/snmp/snmpd.conf
start snmpd :
service snmpd restart
also make sure it starts on boot :
chkconfig snmpd on
last step to check snmpd is working ( change SECRET_NAME to the string you have chose before ) :
snmpwalk -v 1 -c SECRET_NAME -O e 127.0.0.1
you should get an output like below :
SNMPv2-MIB::sysDescr.0 = STRING: Linux 2.6.18-194.11.4.el5xen #1 SMP Tue Sep 21 05:40:24 EDT 201 0 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (242211) 0:40:22.11 SNMPv2-MIB::sysContact.0 = STRING: root@localhost SNMPv2-MIB::sysName.0 = STRING: SNMPv2-MIB::sysLocation.0 = STRING: Unknown SNMPv2-MIB::sysORLastChange.0 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.2 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.3 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.4 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.6 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.7 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.8 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance . . . .
I’ve used this method to connect to a windows PPTP VPN server on PCLinuxOS 2010 , but I am sure it will work on other ditros too.
First make sure sure pptp-linux and ppp packages are installed on your client PC.
you may install them by yum or apt-get or package manager of your linux.
then use the following command to connect to VPN.
pppd pty "pptp IP_OR_FQDN_VPN_SERVER --nolaunchpppd" file /etc/ppp/options.pptp user USERNAME password PASSWORD
replace IP_OR_FQDN_VPN_SERVER with IP or DNS of your VPS server.
replace USERNAME with your VPN username.
replace PASSWORD with your VPN password.
wait for like 10-15 seconds , then run ifconfig command , you should see ppp0 interface there , if it is not there , you can troubleshoot by looking into syslog of your linux.
please note this command is good for connecting to a windows VPN server with default configuration , if you have any custom settings , you may need to edit /etc/ppp/options.pptp file.
to disconnect form VPN , use the following command :
killall pppd
if you need to route all of your traffic to VPN server ( use it as a gateway ) , do the following :
create a file named vpn-up in /etc/ppp/ip-up.d and put the following lines inside it :
#!/bin/bash H=`ps aux | grep 'pppd pty' | grep -v grep | awk '{print $14}'` DG=`route -n | grep UG | awk '{print $2}'` DEV=`route -n | grep UG | awk '{print $8}'` route add -host $H gw $DG dev $DEV route del default $DEV route add default dev ppp0
and make it executable by :
chmod +x vpn-up
create another file named vpn-down in /etc/ppp/ip-down.d and put the following lines inside it :
#!/bin/bash H=`route -n | grep UGH | awk '{print $1}'` DG=`route -n | grep UGH | awk '{print $2}'` DEV=`route -n | grep UGH | awk '{print $8}'` route del -host $H route add default gw $DG dev $DEV
and make it executable by :
chmod +x vpn-down
now reconnect to VPN , and your routing will be done automatically.
The following shell script shows current download and upload speeds for the network interface you choose.
Copy the shell script in a file named, i.e: net_speed.sh
Then after setting execution permissions:
chmod a+x net_speed.sh
You can run the shell script passing as the first argument the network interface you want to monitor:
./net_speed.sh eth0
You will get a line like that:
eth0 DOWN:15 KB/s UP:880 B/s
This script works parsing /proc/net/dev file and calculating the difference between current transmitted or received bytes and their values one second ago.
#!/bin/bash # This shell script shows the network speed, both received and transmitted. # Usage: net_speed.sh interface # e.g: net_speed.sh eth0 # Global variables interface=$1 received_bytes="" old_received_bytes="" transmitted_bytes="" old_transmitted_bytes="" # This function parses /proc/net/dev file searching for a line containing $interface data. # Within that line, the first and ninth numbers after ':' are respectively the received and transmited bytes. get_bytes() { line=$(cat /proc/net/dev | grep $interface | cut -d ':' -f 2 | awk '{print "received_bytes="$1, "transmitted_bytes="$9}') eval $line } # Function which calculates the speed using actual and old byte number. # Speed is shown in KByte per second when greater or equal than 1 KByte per second. # This function should be called each second. get_velocity() { value=$1 old_value=$2 let vel=$value-$old_value let velKB=$vel/1024 if [ $velKB != 0 ]; then echo -n "$velKB KB/s"; else echo -n "$vel B/s"; fi } # Gets initial values. get_bytes old_received_bytes=$received_bytes old_transmitted_bytes=$transmitted_bytes # Shows a message and waits for one second. echo "Starting..."; sleep 1; echo ""; # Main loop. It will repeat forever. while true; do # Get new transmitted and received byte number values. get_bytes # Calculates speeds. vel_recv=$(get_velocity $received_bytes $old_received_bytes) vel_trans=$(get_velocity $transmitted_bytes $old_transmitted_bytes) # Shows results in the console. echo -en "$interface DOWN:$vel_recv\tUP:$vel_trans\r" # Update old values to perform new calculations. old_received_bytes=$received_bytes old_transmitted_bytes=$transmitted_bytes # Waits one second. sleep 1; done
Source : Linux Clues
This command shows both static and shared loaded modules in Apache :
httpd -M
Powered by WordPress