crontab使用说明

一、cron服务
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
系统启动的时候自动启动:
在/etc/rc.d/rc.local(是/etc/rc.local的一个软链接)这个脚本的末尾加上: /sbin/service crond start

二、查看和管理crontab
1)当前用户
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务

2)其他用户
crontab -u oracle -l
编辑cron
crontab -u oracle -e
然后使用vi进行编辑

基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

*代表所有的取值范围内的数字
“/”代表每的意思
“*/5″表示每5个单位
“-“代表从某个数字到某个数字
“,”分开几个离散的数字

三、举例
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启lighttpd 。

四、补充
/var/spool/cron/ 该目录下存放所有用户的cron服务
/var/log/cron 记录cron运行的日志信息。

Redhat 中裸设备(raw) 的配置和oracle中使用

1、对磁盘进行分区
fdisk -l 查看磁盘情况
fdisk /dev/sdb 进行分区操作

2、配置裸设备(修改/etc/udev/rules.d/60-raw.rules文件)
在redhat5中
1)加载裸设备
ACTION==”add”, KERNEL==”/dev/sdb1″,RUN+=”/bin/raw /dev/raw/raw1 %N”–多个一次累加
2)设置raw设备的用户和权限信息
ACTION==”add”, KERNEL==”raw[1-4]”, OWNER=”oracle”, GROUP=”dba”, MODE=”660″
3)重启服务
start_udev
4)查看raw设备
ls -lrt /dev/raw或者 raw -aq

在redhat4中
1)编辑/etc/sysconfig/rawdevices
vi /etc/sysconfig/rawdevices
/dev/raw/raw31 /dev/sdc5
/dev/raw/raw32 /dev/sdc6
/dev/raw/raw33 /dev/sdc7
/dev/raw/raw34 /dev/sdc8

2)执行绑定操作
/sbin/service rawdevices restart

3)设置权限
vi /etc/rc.local中添加
chown oracle:dba /dev/raw/raw31
chown oracle:dba /dev/raw/raw32
chown oracle:dba /dev/raw/raw33
chown oracle:dba /dev/raw/raw34
chmod 775 /dev/raw/raw31
chmod 775 /dev/raw/raw32
chmod 775 /dev/raw/raw33
chmod 775 /dev/raw/raw34

3、在oracle中使用
1)表空间
create tablespace raw1 datafile ‘/dev/raw/raw31’ size 450m;
2)联机日志
alter database add logfile group 4 (‘/dev/raw/raw32’) size 100m;
3)undo空间
create undo tablespace undo2 datafile ‘/dev/raw/raw33’ size 100m reuse;

4、注意事宜
1)一个裸设备只能放一个oracle文件
2)oracle文件大小要稍微小于裸设备大小

oracle 开机自动启动

一、使用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和dbstop文件:
ORACLE_HOME_LISTNER=$1
改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME

三、创建服务
$su – root
# cd /etc/rc.d/init.d/
# vi oradb
在oradb中添加文本

#!/bin/bash
# chkconfig: 345 99 10
# description: Startup Script for Oracle Databases
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 -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup and oem
echo -n "Starting Oracle: "
# 启动listener and instance
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/Oracle
# 启动oem
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown and oem
echo -n "Shutdown Oracle: "
# 关闭oem
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
# 关闭数据库和listener
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/Oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0

修改所属组和用户
#chown oracle.oinstall /etc/rc.d/init.d/oradb
修改访问权限
#chmod 775 /etc/rc.d/init.d/oradb
添加服务到自动启动中
#chkconfig –add oradb
查看数据库服务开机启动状态
#chkconfig –list oradb

四、# chkconfig: 345 99 10说明
指出3,4,5级别启动这个服务,99是在相应的/etc/rc.d/rcN.d(N为前面指定的级别,这里是345)目录下生成的链接文件的序号(启动优先级别)S99oradbstart,10为在除前面指出的级别对应的/etc/rc.d/rcN.d(N为除345之外的级别)目录生成的链接文件的序号(服务停止的优先级别)

Solaris10 配置网络

也许是自己对Unix的好奇,也许是Unix+C的利益驱使,我装起了几个Unix系统,想看看到底哪个比较好,比较适合我。在安装的Freebsd、OpenSolaris、Solaris10这三个可以装在32位的cpu上的系统。大概的随便的打开,使用了下shell,感觉和linux没有太大的区别(也许我还没有理解其中的精髓),从做服务器的角度来说,应该是Solaris10最合适,从个人使用的角度来说,OpenSolaris比较顺手。最后装好在VM中的是Solaris10,然后就多玩了下,配置了网络,使用ssh远程访问。现在把Solaris的网络配置给记录下来,以便以后参考

主机名关联文件(hostname.网卡,hosts)
# cat /etc/hostname.e1000g0
xifenfei

# cat /etc/hosts
127.0.0.1 localhost
192.168.1.10 xifenfei loghost

ip地址关联文件
# cat /etc/hosts
127.0.0.1 localhost
192.168.1.10 xifenfei loghost

# cat /etc/netmasks
192.168.1.0 255.255.255.0

# cat /etc/defaultrouter
192.168.1.1

域名相关文件
#cat/etc/resolv.conf
nameserver 202.96.134.133
nameserver 202.96.128.68

#cat /etc/nsswitch.conf
hosts: files dns

常用命令
ifconfig -a —>得出网卡的名字,一般第一块100M网卡名为pcn0
ifconfig pcn0 down —>先把网卡pcn0的服务暂时停止
ifconfig pcn0 up —>启动网卡pcn0的服务
ifconfig pcn0 192.168.1.10 netmask 255.255.255.0 up —>临时修改ip启动网卡(永久性修改后,使用该命令可以使修改ip生效)

shell编程——基本语法

一、判断语句
1、if……then……if语句

#!/bin/bash
read -p "请输入y/n:" ym
if [ "$ym" == "Y" -o "$ym" == "y" ]; then
        echo "你输入的是Y"
        exit 0
elif [ "$ym" == "N" -o "$ym" == "n" ]; then
        echo "你输入的是N"
        exit 0
else
        echo "你输入的不是N或者Y"
fi

note:if附近很多空格,全部用空格隔开

2、case……esac语句

#!/bin/bash
read -p "请输入(Y/n):" fei
case $fei in
y)
        echo '您输入的是y'
        ;;
Y)
        echo '您输入的是Y'
        ;;
n)
        echo '您输入的是n'
        ;;
N)
        echo '您输入的是N'
        ;;
*)
        echo '您输入的不符合要求'
        ;;
esac

二、循环语句
1、while语句

#!/bin/bash
s=0
i=0
while [ "$i" != 100 ]
do
        i=$(($i+1))
        s=$(($s+$i))
done
echo "the result of '1+2+……+100' is $s"

2、until语句

#!/bin/bash
until [ "$yn" == "yes" -o "$yn" == "YES" ]
do
        read -p "Please input yes/YES to stop this program: " yn
done
echo "OK! you input the correct answer."

note:当until满足是进入循环,和while相反

3、for…do…done语句

#举例一
#!/bin/bash
for var in xi fen fei
do
        echo "this is ${var} "
done

#举例二
#!/bin/bash
filelist=$(ls -la)
for var in v$filelist
do
        echo "${var}"
done

#举例三
#!/bin/bash
s=0
for i in $(seq 1 100)
do
        s=$(($s+$i))
done
echo "the result of '1+2+……+100' is $s"

#举例四
#!/bin/bash
echo "请输入从1开始累加到N的值:"
read nu
s=0
for((i=1;i<=$nu;i=i+1))
do
        s=$(($s+$i))
done
echo "1+……+$nu is ==>$s"