Hacder's Lab
哥德疯了


Proftpd 启动脚本

May 5th, 2007 . by hacder

以源码方式编译安装的Proftpd是没有启动脚本的,也就是说用户不能通过简单的Server profptd start/stop/restart等操作。

为了使用简便,我们建立一个Proftpd的启动脚本,把Proftpd加入系统SysV服务。

1. 建立启动脚本

  1. # vi /etc/init.d/proftpd

脚本代码:

  1. #!/bin/sh
  2. # add for chkconfig
  3. # chkconfig: 35 85 15
  4. # description: Ftp Server
  5. # processname: proftpd
  6.  
  7.  FTPD_BIN=/opt/proftpd/sbin/proftpd
  8.  FTPD_CONF=/opt/proftpd/etc/proftpd.conf
  9.  PIDFILE=/opt/proftpd/var/proftpd.pid
  10.  if [ -f $PIDFILE ]; then
  11.  pid=`cat $PIDFILE`
  12.  fi
  13.  if [ ! -x $FTPD_BIN ]; then
  14.  echo "$0: $FTPD_BIN: cannot execute"
  15.  exit 1
  16.  fi
  17.  case $1 in
  18.  start)
  19.  if [ -n "$pid" ]; then
  20.  echo "$0: proftpd [PID $pid] already running"
  21.  exit
  22.  fi
  23.  if [ -r $FTPD_CONF ]; then
  24.  echo "Starting proftpd..."
  25.  $FTPD_BIN -c $FTPD_CONF
  26.  else
  27.  echo "$0: cannot start proftpd -- $FTPD_CONF missing"
  28.  fi
  29.  ;;
  30.  stop)
  31.  if [ -n "$pid" ]; then
  32.  echo "Stopping proftpd..."
  33.  kill -TERM $pid
  34.  else
  35.  echo "$0: proftpd not running"
  36.  exit 1
  37.  fi
  38.  ;;
  39.  restart)
  40.  if [ -n "$pid" ]; then
  41.  echo "Rehashing proftpd configuration"
  42.  kill -HUP $pid
  43.  else
  44.  echo "$0: proftpd not running"
  45.  exit 1
  46.  fi
  47.  ;;
  48.  *)
  49.  echo "usage: $0 {start|stop|restart}"
  50.  exit 1
  51.  ;;
  52.  esac
  53.  exit 0

注意文件中的

  1. FTPD_BIN=/usr/local/proftpd/sbin/proftpd
  2.  FTPD_CONF=/usr/local/proftpd/etc/proftpd.conf
  3.  PIDFILE=/usr/local/proftpd/var/proftpd.pid

三行,如果您的Proftpd不是安装在/usr/local/proftpd,请根据情况更改以上三行中Proftpd的路径!

2. 授予proftpd运行权限

  1. # chmod 755 /etc/rc.d/init.d/proftpd

3. 将httpd加入系统SysV服务并设置其开机自启动

  1. # chkconfig --add proftpd
  2.  # chkconfig --level 3 proftpd on

这样,今后如需启动、停止、重启Proftpd就可以用以下方式了:

  1. # service profptd start
  2.  # service proftpd stop
  3.  # service proftpd restart

等等……

服务器管理:
[root@localhost ~]# /opt/proftpd/sbin/proftpd 注:服务器的启动;
[root@localhost ~]# pgrep proftpd 注:查看服务器是不是启动起来了;如果没有进程,说明失败;
[root@localhost ~]# pkill proftpd 注:杀死proftpd的进程;也就是关掉服务器;

下面是几个查看ProFTPD服务器状态的命令,您也可以尝试一下,具体用法自己尝试吧;

[root@localhost ~]# /opt/proftpd/bin/ftpcount
[root@localhost ~]# /opt/proftpd/bin/ftpwho
[root@localhost ~]# /opt/proftpd/bin/ftptop
[root@localhost ~]# /opt/proftpd/bin/ftpdctl


原创文章如转载,请注明:转载自 Hacder's Lab [ http://www.hacder.com ]
本文链接地址:http://www.hacder.com/archives/162.html

Leave a Reply

You must be logged in to post a comment.