德克云技术联盟

会员中心
发新帖
打印 上一主题 下一主题

北京某医疗设备科技公司配置管理环境【附件为用户手册】
发布人: 李臻宇 发布时间:2014-07-14 浏览:8190


环境介绍
域名系统:Bind
邮件系统:Sendmail(SMTP)+Dovecot(POP3/IMAP)
缺陷管理:BugZilla
版本控制:Subversion(证书验证)

1.软件安装配置1.1 DNS
DNS是邮件系统的一个部分,想要使用邮件系统,必须在DNS中配置邮件记录。
1.1.1    软件包检查
Code-------------------------------------------------------------------------------------
[root@scmbug etc]# rpm -qa | grep bind
ypbind-1.19-8.el5
bind-libs-9.3.4-6.P1.el5
bind-utils-9.3.4-6.P1.el5
bind-9.3.4-6.P1.el5
bind-chroot-9.3.4-6.P1.el5
[root@scmbug etc]# rpm -qa | grep caching
caching-nameserver-9.3.4-6.P1.el5
--------------------------------------------------------------------------------------------
1.1.2 DNS配置
编辑DNS主配置文件named.caching-nameserver.conf
[root@scmbug etc]# vi/var/named/chroot/etc/named.caching-nameserver.conf
options {
       forwarders { 202.106.46.151;202.106.0.20; };   #未知区域解析服务器
       listen-on port 53 { 192.168.101.233; };     #监听端口
       directory       "/var/named";
       dump-file      "/var/named/data/cache_dump.db";
       statistics-file "/var/named/data/named_stats.txt";
       memstatistics-file "/var/named/data/named_mem_stats.txt";
       query-source    port 53;
       allow-query     { any; };        #允许查询
};
logging {
        channeldefault_debug {
               file "data/named.run";
               severity dynamic;
        };
};
view localhost_resolver {
       match-clients      { any; };    #允许范围
       match-destinations { any; };      #允许范围
       recursion yes;
        include"/etc/named.rfc1912.zones";
};
编辑DNS主配置文件named.rfc1912.zones
[root@scmbug etc]# vi/var/named/chroot/etc/named.rfc1912.zones
添加如下内容
zone "uis.com" IN {
        typemaster;
        file"uis.com.zone";
};
zone "101.168.192.in-addr.arpa" IN {
        typemaster;
        file"uis.com.local";
};
复制解析文件模版
cp /var/named/chroot/var/named/localhost.zone/var/named/chroot/var/named/uis.com.zone –p
cp /var/named/chroot/var/named/named.local/var/named/chroot/var/named/uis.com.local –p
编辑解析文件
[root@scmbug etc]# vi/var/named/chroot/var/named/uis.com.zone (正向)
$TTL    86400
@              IN SOA  scmbug.uis.com.       root.uis.com. (
                                        42              ; serial (d. adams)
                                       3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D)            ; minimum
                IN NS           scmbug.uis.com.
               IN MX   10      scmbug.uis.com.
               IN A            192.168.101.233
scmbug         IN A            192.168.101.233
pop                       INA                            192.168.101.233
smtp                            INA                            192.168.101.233
[root@scmbug etc]# vi/var/named/chroot/var/named/uis.com.local (反向)
$TTL    86400
@       IN      SOA    scmbug.uis.com. root.uis.com.  (
                                     1997022700 ; Serial
                                     28800      ; Refresh
                                      14400      ; Retry
                                     3600000    ; Expire
                                      86400)    ; Minimum
        IN      NS     scmbug.uis.com.
233      IN      PTR    uis.com.
233     IN      PTR     scmbug.uis.com.
233         IN          PTR        pop.uis.com.
233         IN          PTR        smtp.uis.com.
设置开机自动启动DNS服务
[root@scmbug etc]# chkconfig --level 35named on
测试DNS服务器
[root@scmbug ~]# nslookup
> set type=a
> scmbug
Server:        192.168.101.233
Address:       192.168.101.233#53
Name:  scmbug.uis.com
Address: 192.168.101.233
> set type=ptr
> 192.168.101.233
Server:        192.168.101.233
Address:       192.168.101.233#53
233.101.168.192.in-addr.arpa    name = uis.com.
233.101.168.192.in-addr.arpa    name = scmbug.uis.com.
> set type=mx
> uis.com
Server:        192.168.101.233
Address:       192.168.101.233#53
uis.com mail exchanger = 10 scmbug.uis.com.
> exit
2.邮件系统搭建2.1 软件包检查
[root@scmbug ~]# rpm -qa | grep sendmail
sendmail-8.13.8-2.el5
sendmail-cf-8.13.8-2.el5
[root@scmbug ~]# rpm -qa | grep dovecot
dovecot-1.0-1.2.rc15.el5
2.2 服务配置
2.2.2 Sendmail
修改监听地址
[root@scmbug ~]# vi /etc/mail/sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,Name=MTA')dnl(DEL
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,Name=MTA')dnl (ADD
生成配置文件
[root@scmbug ~]# m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf
修改邮件后缀
[root@scmbug ~]# vi /etc/mail/local-host-names  
# local-host-names - include all aliases for yourmachine here.
uis.com
修改可转发服务列表
[root@scmbug ~]# vi /etc/mail/access  
# Check the /usr/share/doc/sendmail/README.cf filefor a description
# of the format of this file. (search for access_dbin that file)
# The /usr/share/doc/sendmail/README.cf is part ofthe sendmail-doc
# package.
#
# by default we allow relaying from localhost...
Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY
scmbug.uis.com                          REALY
生效可转发列表
[root@scmbug ~]# cd /etc/mail/; make access.db ; cd -
重新启动服务/开机自动启动服务
[root@scmbug ~]# chkconfig --level 35 sendmail on
[root@scmbug ~]# /etc/init.d/sendmail restart
Shutting down sm-client:                                   [  OK  ]
Shutting down sendmail:                                    [  OK  ]
Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]
检查是否监听端口
[root@scmbug ~]# netstat -ant | grep 25
tcp       0      0 192.168.101.233:25          0.0.0.0:*                   LISTEN
2.2.2 Dovecot
[root@scmbug ~]# vi /etc/dovecot.conf
protocols = pop3  #支持协议
listen =       #监听IP
[root@scmbug ~]# /etc/init.d/dovecot restart
Stopping Dovecot Imap:                                     [  OK  ]
Starting Dovecot Imap:                                     [  OK  ]
[root@scmbug ~]# chkconfig --level 35 dovecot on
创建邮件帐号脚本
#!/bin/sh
echo "lease input mailaccount which youwant:"
read MAILACCOUNT
echo "lease input Password:"
read PASSWD
echo "UserMAILACCOUNT/PasswordPASSWD"
echo "Contune?[y/n]"
read CHOS
case $CHOS in
        y|Y)
       /usr/sbin/useradd $MAILACCOUNT
       /bin/echo $PASSWD | /usr/bin/passwd --stdin $USER
        ;;
        n|N)
        echo"bye"
        ;;
        *)
        echo"Just suport Y or N..."
esac
3 创建证书系统3.1软件包检查与安装
Openssl#证书系统
[root@scmbug ~]# rpm -qa | grep openssl
openssl-0.9.8b-8.3.el5_0.2
openssl-devel-0.9.8b-8.3.el5_0.2
[root@scmbug ssl.ca]# rpm -qa | grep mod_ssl
mod_ssl-2.2.3-11.el5.centos
ssl.ca#帮助我们快速建立CA的工具
[root@scmbug ~]# mv ssl.ca-0.1 ssl.ca ; mv ssl.ca/etc/httpd/conf/
3.2 创建CA系统
ssl.crt#建立证书及钥匙存放的目录
[root@scmbug ssl.ca]# mkdir /etc/httpd/conf/ssl.crt
创建根证书/根证书密钥/自签名根证书
[root@scmbug ssl.ca]# ./new-root-ca.sh
创建服务器证书/服务器密钥
[root@scmbug ssl.ca]# ./new-server-cert.sh server
[root@scmbug ssl.ca]# ./sign-server-cert.sh server
创建用户证书/用户密钥
[root@scmbug ssl.ca]# ./new-user-cert.sh uis
[root@scmbugssl.ca]# ./sign-user-cert.sh uis
格式化用户密钥以便可以在Windows中使用
[root@scmbug ssl.ca]# ./p12.sh uis
3.3 配置CA系统
修改ssl.conf配置文件
[root@scmbug ssl.ca]# vi /etc/httpd/conf.d/ssl.conf
SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca.crt
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile/etc/httpd/conf/ssl.crt/server.key
SSLCACertificatePath /etc/httpd/conf/ssl.crt/
SSLVerifyClient require    #强制要求客户端证书
SSLVerifyDepth 1
从服务器拷贝ca.crt和uis.p12
双击ca.crt就可以添加我们的证书系统为信任证书系统
重新启动apache服务就可以测试证书系统了。
4.2 MySQL配置
[root@scmbug ssl.ca]# /etc/init.d/mysqld start
Initializing MySQL database:                               [  OK  ]
Starting MySQL:                                         [  OK  ]
[root@scmbug ssl.ca]# mysqladmin -u root password'feoneon'
[root@scmbug ssl.ca]# mysql -u root -p
mysql> create database bugs
    -> ;
Query OK, 1 row affected (0.00 sec)
mysql> show databases
    -> ;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| bugs              |
| mysql             |
| test              |
+--------------------+
4 rows in set (0.01 sec)
mysql> grant all on bugs.* to scmdbuser@localhostidentified by 'scmdbpasswd';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
修改上传限制
[root@scmbug ~]# vi /etc/my.cnf
[mysqld]
# Allow packets up to 1M
max_allowed_packet=1M
修改填写最小单词
[mysqld]
# Allow small words in full-textindexes
ft_min_word_len=2
允许附件表增长到4G
mysql> use $bugs_db
mysql> ALTER TABLE attachments
AVG_ROW_LENGTH=1000000,MAX_ROWS=20000;
5.Bug管理系统5.1软件包检查/安装
[root@scmbug ssl.ca]# rpm -qa | grep http
httpd-2.2.3-11.el5.centos
[root@scmbug ssl.ca]# rpm -qa | grep mysql-server
mysql-server-5.0.22-2.1.0.1
[root@scmbug ssl.ca]# rpm -qa | grep mod_auth_mysql
mod_auth_mysql-3.0.0-3.1
yum install gd gd-devel freetype php-gdImageMagick-perl –y
5.2 Bugzilla软件包支持
NCFTP
[root@scmbug ~]# wgetftp://ftp.ncftp.com/ncftp/ncftp-3.2.1-src.tar.bz2
[root@scmbug ~]# tar jxf ncftp-3.2.1-src.tar.bz2
[root@scmbug ~]# cd ncftp-3.2.1
[root@scmbug ncftp-3.2.1]#ls
[root@scmbug ncftp-3.2.1]#./configure ; make ;make install
[root@scmbug ncftp-3.2.1]#cd ~
Bugzilla
[root@scmbug ~]# tar zxf bugzilla-3.0.4.tar.gz
[root@scmbug ~]# mv bugzilla-3.0.4/var/www/html/bugs
[root@scmbug ~]# cd /var/www/html/bugs/
[root@scmbug bugs]# ./checksetup.pl –modulescheck
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"Email::Send"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"Template"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"Email::MIME::Modifier"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"Date::Format"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"GD::Graph"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"Template:lugin::GD::Image"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"Email::Reply"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"HTML::Scrubber"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"XML::Twig"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"MIME:arser"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"Chart::Base"'
[root@scmbug bugs]# /usr/bin/perl -MCPAN -e 'install"atchReader"'
[root@scmbug bugs]# vi localconfig
$db_user = 'scmdbuser';
$db_pass = 'scmdbpasswd';
[root@scmbug bugs]# ./checksetup.pl
5.3 Apache对Bugzilla的支持
[root@scmbug bugs]# vi /etc/httpd/conf/httpd.conf
#添加如下描述
<Directory /var/www/html/bugs>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
5.4 Bugzilla简单配置
Parameters:
       RequiredSettings:
              Maintaniner:                WangyiFeng@uis.com
              Urlbase:                       https://scmbug.uis.com/bugs/
              Sslbase:                        https://scmbug.uis.com/bugs/
              Ssl:                              always
       AdministrativePolicies:
              Allowmailchange:         off
       UserAuthentication
              Createemailregexp:        @uis.com
       Attachments
              Allow_attach_url:          on
              Maxlocalattachment:      100
       BugChange Policies:
              Commentoncreate:         on
              Commentonaccept:        on
              Commentonconfirm:      on
              Commentonresolve:       on
              Commentonreassign:      on
              Commentonreassignbycomponent: on
              Commentonreopen:              on
              Commentonclose:          on
              Commentonduplicate:    on
       BugFields:
              Useclassification:           on
              Showallproducts:           on
              Usestatuswhiteboard:     on
              Usebugaliases:               on
       GroupSecurity
              Makeproductgroups       on
              Useentrygroupdefault     on
       Email:
              Mail_deliver_method     SMTP
              Mailfrom                      BugSys@uis.com
              Smtpserver                   192.168.101.233
       QueryDefaults
              specific_search_allow_empty_words:    on
       UserMatching:
              Usemenuforusers:          on
6.版本控制系统Subversion6.1检查软件包安装(Apache+mysql+svn)
[root@scmbug ssl.ca]# rpm -qa | grep subversion
subversion-1.4.2-2.el5
[root@scmbug ssl.ca]# rpm -qa | grep mod_dav_svn
mod_dav_svn-1.4.2-2.el5
6.2服务配置6.2.1 Apache对Subversion的支持
[root@scmbug bugs]# vi /etc/httpd/conf/httpd.conf
<Location /svn>
DAV svn
#SVNPath /repository/test
SVNParentPath /repository
AuthzSVNAccessFile /repository/auth/authz
AuthName "RTS InfoTech SVN .."
AuthType Basic
SSLRequireSSL
AuthMYSQLEnable on
AuthMySQLUser scmdbuser
AuthMySQLPassword scmdbpasswd
AuthMySQLDB bugs
AuthMySQLUserTable profiles
AuthMySQLNameField login_nameF
AuthMySQLPasswordField cryptpassword
require valid-user
</Location>
[root@scmbug bugs]# /etc/init.d/httpd restart
Stopping httpd:                                          [  OK  ]
Starting httpd:                                           [  OK  ]
[root@scmbug bugs]# chkconfig --level 35 httpd on
6.2.2 配置SVN
初始化repository.
[root@rep ~]# mkdir repository  
[root@rep ~]# svnadmin create /repository/test
[root@rep ~]# chown apache.apache repository/ -R
[root@rep /]# mkdir /repository/auth
[root@rep /]# cp /repository/test/conf/authz/repository/auth/ -p
附录1.  iptables防火墙安全策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -p all -jACCEPT
iptables -A INPUT -s 192.168.2.222 -d 192.168.2.222-p all -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED-j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 –p tcp –dport2222 –j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 –p udp –dport2222 –j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 25-j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p udp --dport 25-j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p udp --dport110 -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport110 -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 53-j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p udp --dport 53-j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p udp --dport443 -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport443 -j ACCEPT
附录2.服务器脚本Server.sh
#!/bin/sh
#Description
#Powered by Rain.Li(zhenrain@gmail.com)
#===========================Define====================
LOGFILE=/repository/.backup/LOG
BAKPATH=/repository/.backup/
MYDATE=`date +%d/%m/%Y`
THIS_HOST=`hostname -s`
USER=`whoami`
#=====================================================
while :
do
   tput clear
cat << RAIN
     ________________________________________________________________
    UserUSER        HostTHIS_HOST              DateMYDATE
    ----------------------------------------------------------------
                  1. List all repositorys on server
                   2. Add new repository toSubversion
                  3. Backup Repostiroy
                  4. Backup Database
                  5. View authentication file
                  6. Modify authenticaion file(SVN)
                  7. View Log file
                  8. Maintenance system
                  H. Help screen
                  Q. Exit Menu
    ________________________________________________________________
                                                       RTS
RAIN
     echo -e -n "\t\tYour Choice[1,2,3,4,5,6,7,H,Q]:"
     readCHOICE
       case$CHOICE in
         1)#list repositorys
        echo""
        echo""
        echo"Repository List:"
        ls/repository/ | grep -v "test" | grep -v lost+found
        echo""
        echo""
           ;;
         2)#add new repository
        echo""
        echo""
echo "Adding Repository to Subversion..."
        echo -n"lease input ProjectName:"
        readPROJECTNAME
        echo -n"Create Project "$PROJECTNAME"?[y/n] "
        readSTATUSCHOICE
        case$STATUSCHOICE in
         y|Y|yes)
            mkdir /repository/$PROJECTNAME
            /usr/bin/svnadmin create /repository/$PROJECTNAME
            echo "[general]" > /repository/$PROJECTNAME/conf/svnserve.conf
            echo "anon-access = none" >>/repository/$PROJECTNAME/conf/svnserve.conf
            echo "auth-access = write" >>/repository/$PROJECTNAME/conf/svnserve.conf
            echo "realm = $PROJECTNAME" >> /repository/$PROJECTNAME/conf/svnserve.conf
            chmod 770 /repository/$PROJECTNAME/ -R
            chown root.apache /repository/$PROJECTNAME/ -R
            echo "Complete..."
          ;;
         n|N|no)
            echo "Bye....."
          ;;
          *)
             echo "lease input Y or N"
          ;;
        esac
          ;;
         3)#backup repository
        echo""
        echo""
        echo"Repositorys List:"
        echo`ls /repository/ | grep -v test | grep -v lost+found`
        echo"Choice the Repository which you want o backup.."
        readBAKREPNAME
       NewFile="$BAKPATH""$BAKREPNAME"-bak.tar.gz
        echo"-------------------------------------------" >> $LOGFILE
        echo`(date +"%y-%m-%d %H:%M:%S")` | tee -a $LOGFILE
        echo "Starting backuprepository($BAKREPNAME)....." | tee -a $LOGFILE
        echo"--------------------------" | tee -a $LOGFILE
        if [ -f$NewFile ]
        then
               rm -f $NewFile >> $LOGFILE 2>&1
               echo "[NewFile]elete Old File Success!" | tee -a $LOGFILE
               /usr/bin/svnadmin hotcopy /repository/$BAKREPNAME"$BAKPATH""$BAKREPNAME"
               cd $BAKPATH ; tar zcvf "$NewFile" "$BAKREPNAME" |tee -a $LOGFILE ;cd - > /dev/null 2>&1
else
                /usr/bin/svnadmin hotcopy/repository/$BAKREPNAME "$BAKPATH""$BAKREPNAME"
               cd $BAKPATH ; tar zcvf "$NewFile" "$BAKREPNAME" |tee -a $LOGFILE ;cd - > /dev/null 2>&1
        fi
              # cd  "$BAKPATH"
               rm -rf "$BAKPATH""$BAKREPNAME"
               #cd - > /dev/null 2>&1
        echo""
        echo""
        echo -n"Would you want to copy this file to remote storage?[y/n]"
        readANS
        case$ANS in
               y|Y)
               echo "lease make sure the remoute storage was power on!..."
               echo "ress Enter to continue......"
               read FROG
               mount -t cifs -o username=administrator,password=feoneon//192.168.101.5/ServerBackup /mnt
               if [ -f /mnt/Sign ]
               then
               cp "$NewFile"  /mnt/ -rf-v
               umount /mnt
               echo "Remote Coyp Done"
               else
               exit;
               echo "Remote Copy Failed!Can't mount remote storage"
                fi
               echo "Job Done!"
               rm "$NewFile" -f > /dev/null 2>&1
               ;;
               n|N)
               echo "Bye"
               ;;
               *)
               echo "unknow command!"
                ;;
        esac
        ;;
         4)#backup database
         #Thisscript can be automatic to backup our mysql database.
       #Powered by Rain.Li
       #------------Define-----------------------------
       HOST=localhost
       MYSQLNEWFILE=$BAKPATH/Mysql-DB-bak.tar.gz
       MYSQLTEMPFILE=$BAKPATH/bak.sql
       USERNAME=scmbuguser
PASSWD=scmbugpasswd
       #------------------------WorkStarting(scmbug)----------------------------------------
        echo"$TIMESUFFIXNEW" >> $LOGFILE
        echo"-------------------------------------" >> $LOGFILE
        echo`date +%H:%M:%S` >> $LOGFILE
        echo"Start Backup the MySQL Database" | tee -a $LOGFILE
        if [ -f$MYSQLNEWFILE ]
        then
               rm -f $MYSQLNEWFILE >> $LOGFILE 2>&1
               echo "[Mysql-DB-bak.tar.gz]elete Old File Success!"  | tee -a $LOGFILE
        else
               echo "[Mysql-DB-bak.tar.gz]:No Old Backup File!"  | tee -a $LOGFILE
        fi
       /usr/bin/mysqldump -h $HOST -u$USERNAME -p$PASSWD --database scmbug >$MYSQLTEMPFILE
        tarzcvf $MYSQLNEWFILE $MYSQLTEMPFILE
        rm$MYSQLTEMPFILE -f
        echo"[Mysql-DB-bak-$TIMESUFFIXNEW.tar.gz]:Backup Success!"  | tee -a $LOGFILE
        echo"MySQL databases backup over......" | tee -a $LOGFILE
        echo"-------------------------------------" >> $LOGFILE
        echo""
        echo""
        echo -n"Would you want to copy this file to remote storage?[y/n]"
        readANS
        case$ANS in
               y|Y)
                echo "lease make sure theremoute storage was power on!..."
               echo "ress Enter to continue......"
               read FROG
               mount -t cifs -o username=administrator,password=feoneon//192.168.101.5/ServerBackup /mnt
               if [ -f /mnt/Sign ]
               then
               cp "$MYSQLNEWFILE" /mnt/ -rf -v
               umount /mnt
               echo "Remote Coyp Done"
               else
               exit;
               echo "Remote Copy Failed!Can't mount remote storage"
               fi
               echo "Job Done!"
               rm "$MYSQLNEWFILE" -f > /dev/null 2>&1
               ;;
               n|N)
               echo "Bye"
               ;;
               *)
                echo "unknow command!"
               ;;
        esac
        ;;
        5)#view authentication file
        cat/repository/.auth/authz.conf | more
          ;;
        6)#modify autthentication file
        vi/repository/.auth/authz.conf
        ;;
        7)#view log file
        cat$LOGFILE | more
        ;;
        8)#maintenance system
        echo"Building......."
        echo"Building......."
        echo"Building......."
        ;;
         H|h)
           echo"This is the help screen,noting here yet to help you!"
           ;;
         Q|q)
           echo"Bye~"
           exit0
           ;;
         *)echo -e "\t\t Unknown user response!"
           ;;
         esac
      echo -e-n "\t\tHit the return key to continue."
      readDUMMY
done
"backup-sys.sh"
#!/bin/sh
#Description
#This script can be automatic to backup ourrepository.
#
#------------------Public-------------------
BAKPATH=/repository/.backup/
SYSTEMPDIR="$BAKPATH"SYSTEMP
LOG="$BAKPATH"LOG
TIMESUFFIXNEW=`date +%y%m%d`
TIMESUFFIXOLD=`date +%y%m%d --date='3 days ago'`
FILE1=/repository/.auth/authz.conf
FILE2=/var/www/html/bugs/
#------------------Public-------------------
#--------------------System ConfigurationFile(Server)-------------------------------
echo "-------------------------------------">> $LOG
echo `date +%H:%M:%S` >> $LOG
echo "Start backup the ServerSysFiles........." >> $LOG
if [ -f"$BAKPATH"sysfile-bak-$TIMESUFFIXOLD.tar.gz ]
then
        rm"$BAKPATH"sysfile-bak-$TIMESUFFIXOLD.tar.gz -f 2>&1
        echo"["$BAKPATH"sysfile-bak-$TIMESUFFIXOLD.tar.gz]elete Old FileSuccess" >> $LOG
else
        echo"["$BAKPATH"sysfile-bak-$TIMESUFFIXOLD.tar.gz]:No oldfile!" >> $LOG
fi
if [ -f"$BAKPATH"sysfile-bak-$TIMESUFFIXNEW.tar.gz ]
then
        echo"[sysfile-bak-$TIMESUFFIXNEW.tar.gz]:The Backup file exists,Can'tBackup!" >> $LOG
else
        mkdir$SYSTEMPDIR
        cp$FILE1 $SYSTEMPDIR -r -p
        cp$FILE2 $SYSTEMPDIR -r -p
        cp/root/ServScript/* $SYSTEMPDIR  -r -p
        tarzcvf "$BAKPATH"sysfile-bak-$TIMESUFFIXNEW.tar.gz $SYSTEMPDIR
        echo"[sysfile-bak-$TIMESUFFIXNEW.tar.gz]:File Backup Success!" >>$LOG
        rm$SYSTEMPDIR -rf 2>&1
fi
echo "Server SysFiles backup done.......">> $LOG
echo "-------------------------------------">> $LOG
backup-mysql.sh
#!/bin/sh
#Description
#This script can be automatic to backup our mysqldatabase.
#Powered by Rain.Li
#------------Define-----------------------------
BAKPATH=/repository/.backup
LOGFILE=/repository/.backup/LOG
TIMESUFFIXNEW=`date +%y%m%d`
TIMESUFFIXOLD=`date +%y%m%d --date='3 days ago'`
HOST=localhost
MYSQLNEWFILE=$BAKPATH/Mysql-DB-bak-$TIMESUFFIXNEW.tar.gz
MYSQLOLDFILE=$BAKPATH/Mysql-DB-bak-$TIMESUFFIXOLD.tar.gz
MYSQLTEMPFILE=$BAKPATH/bak.sql
USERNAME=scmbuguser
PASSWD=scmbugpasswd
#------------------------WorkStarting(scmbug)----------------------------------------
echo "$TIMESUFFIXNEW" >> $LOGFILE
echo"-------------------------------------" >> $LOGFILE
echo `date +%H:%M:%S` >> $LOGFILE
echo "Start Backup the MySQL Database" >>$LOGFILE
if [ -f $SMYSQLOLDFILE ]
then
        rm -f$MYSQLOLDFILE >> $LOGFILE 2>&1
        echo"[Mysql-DB-bak-$TIMESUFFIXOLD.tar.gz]elete Old File Success!">> $LOGFILE
else
        echo"[Mysql-DB-bak-$TIMESUFFIXOLD.tar.gz]:No Old Backup File!" >> $LOGFILE
fi
if [ -f $MYSQLNEWFILE ]
then
        echo"[Mysql-DB-bak-$TIMESUFFIXNEW.tar.gz]:The backup file is exists,Can'tbackup!" >> $LOGFILE
else
       /usr/bin/mysqldump -h $HOST -u$USERNAME -p$PASSWD --database scmbug >$MYSQLTEMPFILE
        tar zcvf$MYSQLNEWFILE $MYSQLTEMPFILE
        rm$MYSQLTEMPFILE -f
        echo"[Mysql-DB-bak-$TIMESUFFIXNEW.tar.gz]:Backup Success!" >>$LOGFILE
        echo"MySQL databases backup over......" >> $LOGFILE
        echo"-------------------------------------" >> $LOGFILE
fi
echo " "
echo " "
backup-rep.sh
#!/bin/sh
#Description
#This script can automatic to backup our repository.
#
#------------------Public-------------------
LOGFILE=/repository/.backup/LOG
BAKPATH=/repository/.backup/
TIMESUFFIXNEW=`date +%y%m%d`
TIMESUFFIXOLD=`date +%y%m%d --date='3 days ago'`
#------------------Public-------------------
#-----------------Backup theRepository-------------------------------
NEWFILE1="$BAKPATH"Repository-bak-$TIMESUFFIXNEW.tar.gz
OLDFILE1="$BAKPATH"Repository-bak-$TIMESUFFIXOLD.tar.gz
REPTEMPDIR="$BAKPATH"REPTEMP
echo"----------------------------------------------------------------">> $LOGFILE
echo "$TIMESUFFIXNEW" >> $LOGFILE
echo"-------------------------------------" >> $LOGFILE
echo `date +%H:%M:%S` >> $LOGFILE
echo "Start Backup the Repository" >>$LOGFILE
if [ -f $OLDFILE1 ]
then
        rm -f$OLDFILE1 >> $LOGFILE 2>&1
        echo"[Repository-bak-$TIMESUFFIXOLD.tar.gz]elete Old File Success!">> $LOGFILE
else
        echo"[Repository-bak-$TIMESUFFIXOLD.tar.gz]:No Old Backup File!" >>$LOGFILE
fi
if [ -f $NEWFILE1 ]
then
        echo"[Repository-bak-$TIMESUFFIXNEW.tar.gz]:The backup file is exists,Can'tbackup!" >> $LOGFILE
else
        for Iin `ls -a /repository`
        do
               if [ "$I" = "lost+found" ] || [ "$I" ="test" ] || [ "$I" = ".." ] || [ "$I" ="." ] || [ "$I" = ".backup" ]
               then
                        echo "$I need notbackup!"
               else
                        mkdir $REPTEMPDIR2>&1
                        /usr/bin/svnadmin hotcopy/repository/$I $REPTEMPDIR/$I
                        echo "Hot copy$I" >> $LOGFILE
               fi
        done
        tarzcvf $NEWFILE1 $REPTEMPDIR
        echo"[Repository-bak-$TIMESUFFIXNEW.tar.gz]:Backup Success!" >>$LOGFILE
        rm$REPTEMPDIR -rf 2>&1
        echo"Repository backup over......" >> $LOGFILE
        echo"-------------------------------------" >> $LOGFILE
fi
backup-remote.sh
#!/bin/sh
mount -t cifs -o username=administrator,password=feoneon//192.168.101.5/ServerBackup /mnt
if [ -f /mnt/Sign ]
then
cp /repository/.backup/* /mnt/ -rf -v >>/repository/.backup/LOG
umount /mnt
echo "Remote Coyp Done" >>/repository/.backup/LOG
else
exit;
echo "Remote Copy Failed!" >>/repository/.backup/LOG
fi
echo "Job Done!" >>/repository/.backup/LOG



分类浏览
关于我们
联系我们
技术联盟
云服务
云技术
云合作
帮助中心
发帖规则
QQ客服
内部通道
企业邮箱
企业论坛
版本选择
手机版
电脑版
用手机扫描下方二维码查看手机版页面

版权所有 西安云联电子科技有限公司
Copyright @ 2011-2022 | decoclouds.com All Rig
陕ICP备13002202号-1

快速回复 返回顶部 返回列表