linux查看内存使用情况

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:linux查看内存使用情况

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

使用free命令查看内存使用情况
[oracle@report ~]$ free -m
total   used  free shared buffers  cached
Mem: 7958   7926   3          0          19     6942
物理已用内存 = 实际已用内存 – 缓冲 – 缓存
物理已用内存为:7926-19-6942
物理空闲内存 = 总物理内存 – 实际已用内存 + 缓冲 + 缓存
物理空闲内存:7958-7926+19+6942
应用程序可用空闲内存 = 总物理内存 – 实际已用内存
应用程序可用空闲内存:7958-7926
应用程序已用内存 = 实际已用内存 – 缓冲 – 缓存
应用程序已用内存:7926-19-6942

shell /bin/bash^M: bad interpreter报错的解决

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:shell /bin/bash^M: bad interpreter报错的解决

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.
可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的
vi filename
然后用命令
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用 set fileformat=unix 把它强制为unix格式的, 然后存盘退出.

shell 备份文件

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:shell 备份文件

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

#!/bin/bash
#文件名
file=$(date +%y%m%d%H%M)
#日志名
logfile=/home/chengfei/backup/log/file.log
echo "------"$(date +%Y-%m-%d%t%A%t%T)" Beginning backup--------" >>${logfile}
#tar打包
tar cvfz  /home/chengfei/backup/files/$(date +%y%m%d%H%M).tar.gz /home/chengfei/www/wp-content/uploads/2011/ >>${logfile}
echo "------"$(date +%Y-%m-%d%t%A%t%T)" Ending backup------" >>${logfile}
#发送邮件
tail -50 ${logfile}  | mutt -s "Blog附件备份" -a /home/chengfei/backup/files/$(date +%y%m%d%H%M).tar.gz 8chf@163.com
#删除七天以前备份
find /home/chengfei/backup/files/ -type f -mtime +7 -exec rm {} \;

crontab -e
00 04 * * * /home/chengfei/backup/script/backup_file.sh

防火墙和selinux的启动和关闭

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:防火墙和selinux的启动和关闭

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

1、防火墙简单管理
查看状态:service iptables status
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
2、selinux简单管理
1)关闭selinux
#vi /etc/selinux/config
SELINUX=enforcing
改为
SELINUX=disabled
#setenforce 0
2)开启selinux
#vi /etc/selinux/config
SELINUX=disabled
改为
SELINUX=enforcing
#setenforce 1

CentOS 5建立本地源

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:CentOS 5建立本地源

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

1、mkdir /media/CentOS
2、mount /dev/cdrom /media/CentOS
3、查看CentOS-Media.repo中内容
[c5-media]
name=CentOS-$releasever – Media
baseurl=file:///media/ CentOS
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta
3、我们只需编辑下bashurl ,将自己的光盘路径写入
4、可以使用 yum –disablerepo=\* –enablerepo=c5-media [command]
如:yum –disablerepo =* –enablerepo=c5-media install gcc 安装

fstab文件的作用

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:fstab文件的作用

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过”mount /directoryname”命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、 mount、umount的等命令都利用该程序。
下面是/etc/fatab文件的一个示例行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec – 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:
对于IDE设备一般描述为/dev/hdaXN,X是IDE设备通道 (a, b, or c),N代表分区号;
对于SCSI设备一描述为/dev/sdaXN;
对于NFS情况,格式一般为host:dir,例如:knuth.aeb.nl:/;
对于procfs,使用proc来定义。
fs_file – 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。
fs_type – 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。
fs_dump – 该选项被”dump”命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
fs_pass – 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统”/”对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
fs_options – 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用”defaults”就可以满足需要。其他常见的选项包括:
ro 以只读模式加载该文件系统
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
user 允许普通用户加载该文件系统
quota 强制在该文件系统上进行磁盘定额限制
noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
# 示例文件
# /etc/fstab
/dev/hda9 swap swap defaults 0 0
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /home ext2 defaults 1 1
/dev/hda6 /usr ext2 defaults 1 1

Liunx添加硬盘

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:Liunx添加硬盘

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

新加一块SCSI硬盘,需要将其分区挂载到Linux系统上:
#fdisk /dev/sdb
进入fdisk模式:
Command (m for help):p –查看新硬盘的分区
Command (m for help):n –创建新分区
可以用
m命令来看fdisk命令的内部命令;
n命令创建一个新分区;
d命令删除一个存在的分区;
p命令显示分区列表;
t命令修改分区的类型ID号;
l命令显示分区ID号的列表;
a命令指定启动分区;
w命令是将对分区表的修改存盘让它发生作用。
Command action
e extended –输入e为创建扩展分区
p primary partition (1-4) –输入p为创建主分区,这里我们选择p
Partion number(1-4):1 –第一个扩展分区,按你需求可以最多分4个主分区
First Cylinder(1-1014,default 1): 1 –第一个主分区起始的磁盘块数
Last cylindet or +siza or +sizeM or +sizeK: +1024MB –可以是以MB为单位的数字或者以磁盘块数,这里我们输入+1024MB表示分区大小为1G。
这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。
创建完后用w保存分区。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
这样就分区完,我们还要进行格式化
#mkfs -t ext3 -c /dev/sdb1 –如果有多个分区,则分区修改为sdb2这样格式化完后我们需要进行挂载分区
#parted -l –查看分区情况
#mkdir www –创建/www目录,我们将把新的分区挂到www下
#mount /dev/sdb1 /www –将/dev/sdb1挂载到/www
# df –用df命令进行查看
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 3771316 1388956 2190788 39% /
/dev/sda1 101089 9463 86407 10% /boot
none 62988 0 62988 0% /dev/shm
/dev/sdb1 485906 8239 452580 2% /www –看到了,这就是我们刚才新挂载的分区
到这里我们工作已接近尾声了,不过我们如果这样就结束的话,我们每次重新启动服务器后都要进行手工挂载,这样很麻烦,我们需要修改/etc/fstab文件来进行自动挂载。
#vi /etc/fstab
在文件的末尾填加如下内容:
/dev/sdb1 /www ext3 defaults 1 2
如有多个分区可修改sdb1和/www,修改完后保存,重启系统,或者mount /dev/sdb1 /www 先挂载使用

ssh等效连接配置

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:ssh等效连接配置

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

1、配置SSH(两台机器上均需执行)
A、以ORACLE用户登陆

mkdir ~/.ssh
chmod 700 ~/.ssh

B、使用SSH-KEYGEN生成SSH协议的RSA密钥

ssh-keygen -t rsa

2、添加密钥到授权密钥文件(任意一台机器上执行)
以下三条命令在11.1.1.2上执行

ssh 11.1.1.2 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys
ssh 11.1.1.3 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys
scp authorized_keys 11.1.1.3:/home/oracle/.ssh/
chmod 600 ~/.ssh/authorized_keys (两台机器均需要执行)

3、测试(两台机器上均执行)

ssh 11.1.1.2 date
ssh 11.1.1.3 date

如果不要求输入密码就出现系统日期,说明SSH配置成功(第一次可能需要输入yes)

linux命令补充

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:linux命令补充

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

find命令
当前路径下及所有子目录下查找文件名是netmgr的文件
# find . -name netmgr
在/usr及所有子目录下查找名字是vi的文件
# find /usr -name vi
在当前目录及所有子目录下查找文件名包含net的文件
# find ./ -name “net*”
在当前目录及所有子目录查找整个文件名或路径(包含路径)包含特定字符串rdbms 的文件或者路径
# find ./ -print |grep rdbms
查找当前目录及所有目录下的文件的文件内容中含有特定字符串
比如我们要查找当前目录下哪个文件的内容里含有good这个单词:
# find ./ -print|xargs grep -i good
查找1天内创建的文件。
find . -mtime -1 -print
查找大于10000字节的文件:
find . -size +10000c -print
sar命令
sar -u 2 5
每2秒显示一次cpu情况,显示5次
sar -w 5 5
5秒钟显示一次显示交换(swapping)活动,显示5次
iostat命令
iostat 3
iostat显示物理磁盘I/O情况,表明3秒钟显示一次。
nohup命令
nohup run_sql.ksh > logfile.lst 2>&1 &
上面这条命令中不光nohup,还有其他内容,让我们来了解一下各部分的含义:
nohup
将这个任务提交,让其持续运行,甚至你断开终端会话。
run_sql.ksh
指定想在后台中运行的Unix脚本
>logfile.lst
指定存放输出的文件名
2>&1
将标准错误信息输入到标准输出设备上。2代表标准错误信息。1代表标准输出设备。
&
tail命令
tail -f命令不断的显示输出文件中的新的行
tail -100命令显示最后100行
杀掉所有的oracle数据库进程
ps -ef|grep “ora_”|grep -v grep|awk ‘{print $2}’|xargs -i kill -9 {}

linux中oracle开机启动

联系:手机/微信(+86 17813235971) QQ(107644445)

标题:linux中oracle开机启动

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

#!/bin/bash
#chkconfig: 345 99 10
#description:oracle 开机自动运行
#*****************方法一(oradb文件使用)**********************
# 特点:复杂、功能完善、部署麻烦
# 一、使用root用户修改/etc/oratab 文件:
# $ vi /etc/oratab
# orcl:/u01/oracle:N (ORACLE_SID:ORACLE_HOME:N)
# 改为:
# orcl:/u01/oracle:Y 也就是将最后的N改为Y
# 二、使用Oracle用户修改$ORACLE_HOME/bin/dbstart和dbshut文件:
# ORACLE_HOME_LISTNER=$1
# 改为:
# ORACLE_HOME_LISTNER=$ORACLE_HOME
# 三、放置oradb于/etc/rc.d/init.d/
# 重命名该文件名为:oradb,复制到/etc/rc.d/init.d/中
# 四、组、权限、添加启动服务
# 修改所属组和用户
# chown oracle.oinstall /etc/rc.d/init.d/oradb
# 修改访问权限
# chmod 775 /etc/rc.d/init.d/oradb
# 添加服务到自动启动中
# chkconfig –add oradb
#------------添加关机自动关闭oracle的程序-----------
# 因为使用chkconfig配置的开机启动没有关闭系统时候关闭程序选项
# 需要人工设置K99oradb链接
# ln -s  /etc/rc.d/init.d/oradb  /etc/rc.d/rc0.d/K01oradb
#-------------------结束----------------------------
# 查看数据库服务开机启动状态
# chkconfig –list oradb
#--------------整体执行脚本(步骤四)---------------
# chown oracle.oinstall /etc/rc.d/init.d/oradb
# chmod 775 /etc/rc.d/init.d/oradb
# chkconfig –add oradb
# ln -s  /etc/rc.d/init.d/oradb  /etc/rc.d/rc0.d/K01oradb
# chkconfig –list oradb
#--------------------结束---------------------------
#*****************方法一(结束)**********************
#**************方法二(简单功能少)*******************
# 特点:简单、方便、不需要使用oradb文件
# 1、修改$ORACLE_HOME/bin下的dbstart文件,约在78行,
#    修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
# 2、修改/etc/oratab文件,需要修改为正确的实例名
#    (格式为:$ORACLE_SID:$ORACLE_HOME:Y/N)
#    orcl:/u/oracle/product/10.2.0/db_1:Y
# 3、修改/etc/rc.local加入su - oracle -c 'dbstart'
#*****************方法二(结束)**********************
# description: Startup Script for Oracle Databases
# /etc/rc.d/init.d/oradb
export ORACLE_BASE=/u01
export ORACLE_HOME=/u01/oracle
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- start, stop, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/subsys/oradb
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/subsys/oradb
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0