Tuesday, July 5, 2011

How to check server configuration details in Linux

Here i am showing some basic commands using them you can gather the system/server information.

To check what version of Operating System is installed on the server you can use the following commands:-
1.cat /etc/issue
[root@localhost ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel \r on an \m

2.cat /etc/redhat-release
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

3.lsb_release -a
[root@localhost ~]# lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Release:        5.5
Codename:       Tikanga

To check whether the operating system is 32 or 64bit:-
# uname -i
[root@localhost ~]# uname -i
(i386 represents that server is having 32bit operating system)

[root@localhost ~]# uname -i
(x86_64 represents that server is having 64bit operating system)

To see the processor/CPU information:-
# cat /proc/cpuinfo
[root@localhost ~] cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Xeon(R) CPU            5130  @ 2.00GHz
stepping        : 6
cpu MHz         : 1995.087
cache size      : 4096 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx tm2 ssse3 cx16 xtpr lahf_lm
bogomips        : 3990.17
(Here processor number 0 indicates that the system is having one process(processor number starts with zero))

To check memory information:-
# free -m
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          5066       3513       1552          0        612       2319
-/+ buffers/cache:        582       4484
Swap:         1983          0       1983

# cat /proc/meminfo
[root@localhost ~]# cat /proc/meminfo
MemTotal:      5187752 kB
MemFree:       1639300 kB
Buffers:        627024 kB
Cached:        2374944 kB
SwapCached:          0 kB
Active:        2458788 kB
Inactive:       920964 kB
HighTotal:     4325164 kB
HighFree:      1561936 kB
LowTotal:       862588 kB
LowFree:         77364 kB
SwapTotal:     2031608 kB
SwapFree:      2031608 kB
Dirty:             704 kB
Writeback:           0 kB
AnonPages:      377892 kB
Mapped:          35328 kB
Slab:           153036 kB
PageTables:       6316 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   4625484 kB
Committed_AS:   977132 kB
VmallocTotal:   116728 kB
VmallocUsed:      4492 kB
VmallocChunk:   112124 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

To check the model and serial name of the server:-
[root@localhost ~]#  dmidecode | egrep -i "product name|Serial number"
Product Name: PowerEdge R710
Serial Number: AB8CDE1

To check the host name:-
[root@localhost ~]# uname -n

[root@localhost ~]# hostname

To check the kernel version:-
[root@localhost ~]# uname -r

Monday, May 23, 2011

Commands to check errors in configuration files

In Linux, Once the service configuration has been done we can check the configuration files for errors.

Check Samba configuration file for errors with "testparm" command.
# testparm

Check HTTP(apache) configuration file for errors with the following commands
# apchectl configtest
# httpd -t
# service httpd configtest
(You can use any of the above commands to check the errors for apache)

Check SSH configuration file for errors
# sshd -t

Check  DNS configuration file for errors
# named-checkconf  /var/named/chroot/etc/named.conf
The above command will check the configuration file for errors

If you want to check the DNS zone file for errors , use the following command
Syntax: named-checkzone <domain name>  <path to zone file>
Ex: # named-checkzone  www.example.com  /var/named/chroot/var/named/zone.example.com

If the commands display the result as "OK" then the service is properly configured and you can restart the services or if you get any errors fix them.

Wednesday, May 18, 2011

Backup and Restore the Subversion Repository

It is a good practice backup Subversion repository to avoid any loss of data and sometimes you may need to move the svn repository from one server to another server.You can move your repository to another server with the following method.

1. Backup your repository( Create dump)
# svnadmin dump /path to /repository   >  repositoryname.dump

2. Copy the dump file to the new server
# scp -r repositoryname.dump   username@ipaddress:/destination path
Here destination path is location on the target server where the dump file has to be copied.

3. Create a new Repository on the target server
# svnadmin create <repositoryname>
Ex: #svnadmin create /var/www/testrepo

4.Import the dump file to the new repository.
# svnadmin load  /path to repository  <  repositoryname.dump

Wednesday, April 27, 2011

How to rename multple files at once in Linux

Suppose you have many html files which needs be backed up. In this case you can use the "rename" command.

# rename .html .html.bak  *.html

The above command will rename all the files which have extension .html to .html.bak in the current directory.

Friday, January 28, 2011

Creating an empty file having a specific size using dd command

Using the most popular dd command in Linux/Unix you can create a file having a
specific size. It can be Created for Testing purpose. Example when you are configuring disk quota.

dd if=/dev/zero of=example.txt  bs=1M count=1024
It will create an empty file of size 1GB

Here  if = input file , of = output file (it could be any name which you want), bs= block size, here I have mentioned M, it specifies MB(mega byte), if you want to create a file in KB(kilo byte) you need to specify bs with k( bs=10k).

Sunday, November 21, 2010

Impotant Port Numbers

To configure network services/servers, administrator must have a Knowledge of  Port numbers,. So you can  easily find out whether service/daemon is running or not. It will be very helpful when you are configuring iptables/firewall. Ex: You can block unwanted port numbers, it will reduce the risk of hack to the servers.
Here i am listing very common ports which we will use in everyday tasks.

Services                             Portnumber
FTP                                      20 and 21
SSH                                     22
TELNET                               23
SMTP                                  25
DNS                                    53
DHCP                                  67 and 68
TFTP                                   69
HTTP                                   80
NTP                                    123
POP3                                  110
IMAP                                  143
HTTPS                                443
IMAPS                                993
POP3S                                995
SWAT                                 901
SQUID                                3128
MYSQL                              3306
X-WINDOW                        6000
WEBMIN                           10000

Tuesday, November 9, 2010

Backup and Restore Mysql database

It is very important to backup databases to prevent any  loss of data. The easiest way backup the database is Mysqldump and we can restore it with mysql command...

Backup Syntax:
 #mysqldump -u [username] -p [databasename]  > dumpfilename.sql

Ex: you assume that you want to backup a database called users and with username root, then the command would be....
#mysqldump -u root -p users > users.sql
In the above example "-p" will prompt for password, and  if your mysql doesnot have any password then no need to use "-p".

Restore Syntax:
Mysqldump file can easily be restored by using the following command
#mysql -u root -p [databasename] < [mysqldumpfile.sql]

EX: #mysql -u root -p users < users.sql