新闻中心

FreeBSD学习笔记连载(三)

 FREEBSD系统管理
一、怎样有效的利用文件系统和交换分区。
 1.当使用 disklabel(8) 或者 sysinstall(8) 来分割您的文件系统的时候,要记住硬盘驱动器外磁道传输数据要比从内磁道传输数据快。
 因此应该将小的和经常访问的文件系统放在驱动器靠外的位置, 一些大的分区比如 /usr 应该放在比较靠里的位置。以类似这样的顺
 序建立分区是一个不错的主意:root,swap, /var,/usr
  2.一般来讲,交换分区应该大约是系统内存 (RAM) 的两倍。 例如,如果机器有 128M 内存,交换文件应该是 256M。在使用多块SCSI磁
  盘(或者不同控制器上的IDE磁盘)的大系统上,建议在每个驱动器上建立交换分区(直到四个驱动器)。交换分区应该大约一样大小。内核
  可以使用任意大小, 但内部数据结构则是最大交换分区的 4 倍。保持交换分区同样的大小, 可以允许内核最佳地调度交换空间来访问
  磁盘。即使不太使用,分配大的交换分区也是好的,在被迫重启之前它可以让您更容易的从一个失败的程序中恢复过来。
二、rc.conf 的基本设置和 /usr/local/etc/rc.d 启动体系。
   1.cron服务:
   cron服务是FreeBSD 最有用的软件包(utilities)中的一个是 cron(8)。 cron 软件在后台运行并且经常检查 /etc/crontab 文件。
   cron 软件也检查 /var/cron/tabs 目录,搜索新的 crontab 文件。这些 crontab 文件存储一些 cron 在特定时间执行任务的信息。
     cron 程序使用两种不同类型的配置文件, 即系统 crontab 和用户 crontabs。 两种格式的唯一区别是第六个字段。 在系统 crontab 
     中,第六个字段是用于执行命令的用户名。 这给予了系统 crontab 以任意用户身份执行命令的能力。 在用户 crontab 中, 第六个
     字段是要执行的命令,所有的命令都会以这个用户自己的身份执行; 这是一项重要的安全功能。
     注意: 同其他用户一样, root 用户也可以有自己的 crontab。 它不同于 /etc/crontab (也就是系统 crontab)。由于有系统 crontab
     的存在, 通常并不需要给 root 建立单独的用户 crontab。
     例:首先用man crontab查看crontab手册,了解crontab命令
    #crontab -e 创建一个新的cron,进入编辑状态。
   */5 * * * * sh /home/wanwan/beifen_050705.sh 保存后退出
   #vi /home/wanwan/beifen_050705.sh 对脚本进行编辑;
     #!/bin/sh
     if  ls -a /home/wanwan/beifen2005/ | grep iptables-1.2.11.tar.gz;then
      ` rm -Rf /home/wanwan/beifen2005/iptables-1.2.11.tar.gz `
     fi
     `tar cf /home/wanwan/beifen2005/iptables-1.2.11.tar /home/wanwan/iptables-1.2.11`
     `gzip /home/wanwan/beifen2005/iptables-1.2.11.tar`
     保存退出。用命令查看
     #crontab -l
     */25 * * * * sh /home/wanwan/beifen_050222.sh
     如果需要修改定时器,可以执行#crontab -e 重新加载,
   如果不再需要已过时的定时器可以执行#crontab -r 删除已创建的cron。
2.在 FreeBSD 5.X 下使用 rc
   FreeBSD最近整合了NetBSD的rc.d系统以完成系统初始化,用户要注意 /etc/rc.d目录下的文件。这些文件中的很多都是可以接受 start、
     stop 和 restart 选项的基本服务。例如,sshd(8) 可以用下面的命令重启:
     # /etc/rc.d/sshd restart  其它的服务跟这个过程相似。当然,在 rc.conf(5) 指定的服务通常可以自动启动。例如,让网络地址转换
     (NAT) 守护进程在系统启动的时候启动可以简单的在 /etc/rc.conf 中添加下面一行:natd_enable="YES",如果 natd_enable="NO" 行已
     经存在, 只要简单的把 NO 改成 YES 即可。rc脚本在下次重新启动的时候会自动的装载所需要的服务, 像下面所描述的那样。由于 
     rc.d 系统在系统启动/关闭时首先启动/停止服务,如果设置了适当的 /etc/rc.conf 变量,标准的 start、stop 和 restart 选项将会执
     行他们的动作。例如 sshd restart 命令只在 /etc/rc.conf 中的 sshd_enable 设置成 YES 的时候工作。不管是否在 /etc/rc.conf 中
     设置了,要 start、stop 或者 restart 一个服务,命令前可以加上一个“force”前缀。例如要不顾当前 /etc/rc.conf 的设置重新启动
     sshd,执行下面的命令:
     # /etc/rc.d/sshd forcerestart
     用选项 rcvar 可以简单来的检查 /etc/rc.conf 中用适当的 rc.d 脚本启动的服务是否被启用。从而管理员可以运行这样的程序来检查 
     sshd 是否真的在 /etc/rc.conf 中被启动了:
     # /etc/rc.d/sshd rcvar
     # sshd
     $sshd_enable=YES
     注意: 第二行 (# sshd) 是从 sshd 命令中输出的,而不是 root 控制台。
     为了确定一个服务是否真的在运行,可以用 status 选项。例如验证 sshd 是否真的启动了:
     # /etc/rc.d/sshd status
     sshd is running as pid 317.

香港云主机