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
The following easy steps will install snmp daemon on your Debian server :
apt-get install snmpd snmp
now snmpd simple configuration ( change SECRET_NAME to a complex string ) :
echo rocommunity SECRET_NAME > /etc/snmp/snmpd.conf
restart snmpd :
/etc/init.d/snmpd restart
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 :
iso.3.6.1.2.1.1.1.0 = STRING: "Linux debian 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686" iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10 iso.3.6.1.2.1.1.3.0 = Timeticks: (7026) 0:01:10.26 iso.3.6.1.2.1.1.4.0 = STRING: "root" iso.3.6.1.2.1.1.5.0 = STRING: "debian" iso.3.6.1.2.1.1.6.0 = STRING: "Unknown" iso.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00 iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1 iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1 iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1 iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1 iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49 iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4 iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50 iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1 iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The SNMP Management Architecture MIB." iso.3.6.1.2.1.1.9.1.3.2 = STRING: "The MIB for Message Processing and Dispatching." iso.3.6.1.2.1.1.9.1.3.3 = STRING: "The management information definitions for the SNMP User-based Security Model." iso.3.6.1.2.1.1.9.1.3.4 = STRING: "The MIB module for SNMPv2 entities" iso.3.6.1.2.1.1.9.1.3.5 = STRING: "The MIB module for managing TCP implementations" iso.3.6.1.2.1.1.9.1.3.6 = STRING: "The MIB module for managing IP and ICMP implementations" iso.3.6.1.2.1.1.9.1.3.7 = STRING: "The MIB module for managing UDP implementations" iso.3.6.1.2.1.1.9.1.3.8 = STRING: "View-based Access Control Model for SNMP."
install libpam-radius-auth
apt-get install libpam-radius-auth
open /etc/pam_radius_auth.conf
nano /etc/pam_radius_auth.conf
and add the following lines into it. Your_IP and PORT are the IP address and Port of Radius sever. SecretKey is the Secret of radius server. 3 is the timeout in seconds.
# server[:port] shared_secret timeout (s) YOUR_IP:PORT SecretKey 3
Change the permissions :
chown root /etc/pam_radius_auth.conf chmod +r /etc/pam_radius_auth.conf
create /etc/pam.d/squid :
nano /etc/pam.d/squid
and add the following lines :
auth sufficient pam_radius_auth.so account sufficient pam_radius_auth.so
Now install Squid if you have not installed it yet :
apt-get install squid
Lets try and see if Squid PAM works successfully through Radius auth, run the following command and enter username and password with a space between them :
/usr/lib/squid/pam_auth username password OK
OK means radius server has accepted the authentication details. ERR means there is a problem.
Now configure Squid to use pam_ath, open /etc/squid/squid.conf :
nano /etc/squid/squid.conf
Add the following lines to the begging of the file :
auth_param basic program /usr/lib/squid/pam_auth auth_param basic children 5 auth_param basic realm REALM auth_param basic credentialsttl 2 hours
Add following line in acl section :
acl password proxy_auth REQUIRED
Add following line before http_access deny all :
http_access allow password
As simple as one single command :
find -type d -empty -delete
Theoretically host IP and gateway should be on the same IP subnet. but there are some situations where host IP and gateway subnet are on different subnets. like my situation today. I was assigned two additional IPs for my server by my Data-center, but IPs were from a different subnet compared to server main IP. these IPs will work if you set them as additional IPs. but I needed them to create two new VPS’s on my server with bridged network interface. in this situation additional IPs should serve as main IP address and there is no gateway on same subnet available.
So here are the assumptions :
a.b.c.d is the host IP
e.f.g.h is the gateway IP
a.b.c.d & e.f.g.h are on different subnets.
by default if you try to set gateway by following command :
route add default gw e.f.g.h
you will get this error :
SIOCADDRT: No such process
the trick is simple , first add a route to default gateway itself and then set the default gateway , like this :
route add e.f.g.h/32 dev eth0 route add default gw e.f.g.h
remember you may need to change eth0 to your device name , it may be eth1 or wlan0 or anything.
How to make these route changes persistent ?
For Debian/Ubuntu :
Add the following lines to /etc/network/interfaces :
post-up route add e.f.g.h/32 dev eth0 post-up route add default gw e.f.g.h
Very Simple…
apt-get install libapache2-mod-php5 /etc/init.d/apache2 restart
If you get following while doing “apt-get upgrade” on Debian Squeeze :
Setting up linux-image-2.6.32-5-amd64 (2.6.32-35squeeze1) ... Running depmod. Running update-initramfs. update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64 Examining /etc/kernel/postinst.d. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64 run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64 Searching for GRUB installation directory ... found: /boot/grub warning: grub-probe can't find drive for /dev/xvda1. grub-probe: error: cannot find a GRUB drive for /dev/xvda1. Check your device.map. run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1 Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.32-5-amd64.postinst line 799, line 2. dpkg: error processing linux-image-2.6.32-5-amd64 (--configure): subprocess installed post-installation script returned error exit status 2
The solution is :
Run…
echo '(hd0) /dev/xvda' > /boot/grub/device.map mknod /dev/xvda b 202 0
Edit /usr/sbin/update-grub :
Change…
find_device ()
{
if ! test -e ${device_map} ; then
echo quit | grub --batch --no-floppy --device-map=${device_map} > /dev/null
fi
grub-probe --device-map=${device_map} -t device $1 2> /dev/null
}
to…
find_device ()
{
if ! test -e ${device_map} ; then
echo quit | grub --batch --no-floppy --device-map=${device_map} > /dev/null
fi
#grub-probe --device-map=${device_map} -t device $1 2> /dev/null
echo /dev/xvda
}
Run…
update-grub 0 sed -i "s/xvda/xvda1/g" /boot/grub/menu.lst
Everything should be fixed now.
References :
http://www.sysadmintalk.net/forums/Thread-PyGrub-grub-probe-can-t-find-drive-for-dev-xvda1-error-Debian-Squeeze
http://lists.bitfolk.com/lurker/message/20080529.142153.954fedf4.el.html
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
Powered by WordPress