Windows清理临时文件批处理脚本

Clean.bat

@echo off
echo 正在清除系统垃圾文件,请稍候......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除工作完成!
echo. & pause

ftp的主动模式与被动模式的区别是什么?

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动模式和被动模式
     PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的 XXXX端口发送连接请求,建立一条数据链路来传送数据。
     PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口 发送连接请求,建立一条数据链路来传送数据。
     从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同,如下图:
一、FTP服务器的主动工作模式

二、FTP服务器的被动工作模式

阅读剩余部分...

dedecms免疫漏洞之nginx

在nginx的配文件里面server段下面添加
rewrite /(plus|member|special|include|data|a|images|templets|uploads|dede)/(.*)\.(pl|php|cgi|asp|aspx|py|jsp) http://cachefly.cachefly.net/100mb.test redirect;

上面是用rewrite重定向的方法还有第二种方法用location
location ~(plus|member|special|include|data|a|images|templets|uploads|dede)/(.*)\.(pl|php|cgi|asp|aspx|py|tpl|jsp) {return 400;}
然后 reload或者restart一下nginx就可以了,上面的规则是直接给请求者返回一个100M的包,当然你也可以修改成其他的,详细用法参照http://wiki.nginx.org 



重置Mysql的root密码

service mysql restart  --skip-grant-tables
mysql -u root -ppwd <<EOF
use mysql
update user set password=password("新密码") where user="root";
flush privileges;
EOF
service mysql restart

sybase的自启动控制脚本

 cat>/etc/init.d/sybased<<
#!/bin/bash
#

# chkconfig: 2345 81 31

# description: sybase start&stop script

# Source function library.

. /etc/rc.d/init.d/functions

SYB_OWNER=sybase
SYBASE=/opt/sybase
SYBASE_ASE=ASE-15_0
SYBASE_OCS=OCS-15_0
SYBASEDIR=\$SYBASE/\$SYBASE_ASE/install
SYB_STOP=\$SYBASE/\$SYBASE_OCS/bin
SAPASS=123456
DSQUERY=testb2bjoy
DATASERVER=testb2bjoy
RETVAL=0
PATH=\$SYBASE/\$SYBASE_ASE/bin:/\$SYBASE/\$SYBASE_ASE/install:/\$SYBASE/\$SYBASE_OCS/binPATHHOME/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/bin:.

export SYBASE DSQUERY SYBASE_ASE SYBASE_OCS DATASERVER SYBASEDIR PATH

if [ ! -f \$SYBASE/\$SYBASE_ASE/install/startserver ]
then
        echo "Sybase startup: startserver not found"
        exit
fi

start()
{
                su - \$SYB_OWNER -c "\$SYBASE/\$SYBASE_ASE/install/startserver -f \$SYBASEDIR/RUN_"\$DATASERVER""
                sleep 60
                su - \$SYB_OWNER -c "\$SYBASE/\$SYBASE_ASE/install/startserver -f \$SYBASEDIR/RUN_"\$DATASERVER"_bs"

                RETVAL=\$?

                if [ \$RETVAL -eq 0 ]; then
                            action \$"Starting Sybase 12.5 startserver: " /bin/true
                else
                            action \$"Starting Sybase 12.5 startserver: " /bin/false
                fi

                return \$RETVAL
}

stop()
{

                su - \$SYB_OWNER -c "isql -Usa -P\$SAPASS -S\$DATASERVER -i\$SYBASE/\$SYBASE_ASE/install/shutdown_backup.sql"
                su - \$SYB_OWNER -c "isql -Usa -P\$SAPASS -S\$DATASERVER -i\$SYBASE/\$SYBASE_ASE/install/shutdown_dataserver.sql"

                RETVAL=\$?


                if [ \$RETVAL -eq 0 ]; then
                           action \$"Stopping Sybase 12.5 sybshutdown: " /bin/true
                else
                            action \$"Stopping Sybase 12.5 sybshutdown: " /bin/false
                        RETVAL=1
                fi

                return \$RETVAL
}

restart()
{
    stop
    start
}

pid="dataserver"


case "\$1" in
  start)
        start
        RETVAL=\$?
        ;;
  stop)
        stop
        RETVAL=\$?
        ;;
  status)

    su - sybase -c  "/opt/sybase/ASE-15_0/install/showserver"
        RETVAL=\$?

        ;;
  restart)
            restart
        RETVAL=\$?
            ;;
  *)
        echo \$"Usage: \$0 {start|status|stop|restart}"
        exit 1
esac

exit \$RETVAL
EOF
chmod 755 /etc/init.d/sybased 
chkconfig add sybased
chkconfig --list |grep sybased

screen源码编译安装


[root@host1 src]# wget ftp://ftp.gnu.org/pub/gnu/screen/screen-4.0.3.tar.gz
[root@host1 src]# tar -xvf screen-4.0.3.tar.gz
[root@host1 src]# cd screen-4.0.3
[root@host1 screen-4.0.2]# ./configure
[root@host1 screen-4.0.2]# make
[root@host1 screen-4.0.2]# make install
[root@host1 screen-4.0.2]# install -m 644 etc/etcscreenrc /etc/screenrc
[root@host1 screen-4.0.2]# cp ./screen /bin
注意和一般程序的安装过程有所不同,后面这两条指令一定要执行。

yum安装出现这个错误的解决办法 Error: No Package Matching glibc.i686

如题,今天用yum安装软件的时候一直提示这个,不管安装什么软件包都这样,后google之,执行以下命令即可解决:
yum install glibc glibc.i386 –enablerepo=c532*

图形界面之管理工具Webmin


很多人习惯了win上的操作,点点鼠标就能完成工作,面对linux上的那么多操作命令,素手无策,今天我给大家分享一款图形化系统管理工具软件Webmin
          Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器 访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以外还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。
       Webmin 让您能够在远程使用支持HTTPS (SSL 上的 HTTP)协议的 Web 浏览器通过 Web 界面管理您的主机。这在保证了安全性的前提下提供了简单深入的远程管理。这使得 Webmin 对系统管理员非常理想,因为所有主流平台都有满足甚至超出上述需求的 Web 浏览器。而且,Webmin 有其自己的“Web 服务器”,因此不需要运行第三方web软件(比如apache服务器或nginx服务器)。万事具备。Webmin 的模块化架构允许您在需要时编写您自己的配置模块。除了在此介绍的模块之外,Webmin 还包括许多模块。尽管目前我们将主要关注网络服务,但是您会看到,几乎您系统的每一部分都能够通过 Webmin 来配置和管理。
1、用ssh客户端软件登陆服务器
2、用root切换目录到/opt下,命令是:cd /opt
3、下载Webmin的安装文件,命令是:wget http://prdownloads.sourceforge.net/webadmin/webmin-1.450.tar.gz
4、解压缩文件,命令是:tar -xzf webmin-1.450.tar.gz
5、进入webmin的解压缩目录,然后运行setup.sh,命令为:./setup.sh
6、一路回车即可安装完成,最后有一个地方需要设置用户名和密码的地方,用户名默认是admin,可以自己修改,密码输入2次即可

详细操作如下:
Config file directory[/etc/webmin]: 回车    //直接回车表示选择默认安装路径,也可下其它路径,然后接回车键
Log file directory[/var/webmin]:    回车    //同上
Web server port (default 10000):回车       //指定Web访问的端口,默认端口为10000
Login name (default admin)://在这里输入登录用户名,默认是“admin”
Login password: 输入密码
Password again: 再次输入密码
Start Webmin at boot time (y/n):输入”y”
7、等看到安装完成的提示之后,在浏览器中输入http://ip:10000或 http://localhost:10000/ ,然后回车,如果看到一个登陆界面,就说明webmin已经安装成功了。至此表明,安装在Linux系统下的Webmin可以正常工作了。正确输入用户名及口令(默认只有admin账号可以登陆),就可以对系统管理了。
8、刚安装时是英文界面,登录webmin系统后,依次打开Webmin →Webmin Configuration →Language,在 Display in Language处选择Simplified Chinese (ZH_CN),然后再点击”Change Language”重新进入webmin系统时就会显示中文了。

安装成功的童鞋们,你们觉得好用吗?

RAID介绍


磁盘阵列全名是: Redundant Arrays of Inexpensive Disks, 简称RAID ,意思是:廉价的磁盘冗余阵列。 RAID 可以通过一个技术(软件或硬件),将多个物理的磁盘整合成为一个虚拟的磁盘设备,而这个虚拟的磁盘不但扩展了储存空间,而且还有数据保护的功能。 RAID根据等级 (level) 的不同,而使得整合后的磁盘具有不同的功能,基本常见的 level 有以下这几种:raid0,raid1和raid5,根据这三种又衍生出了raid0+1或者rad1+0

          RAID-0:磁盘叠加
这种模式一般是使用相同型号与容量的磁盘来组成。这种模式的 RAID 会将磁盘先切出等量的区块, 然后当一个文件需要要写入 RAID 设备时,该文件就会依据区块的大小切割好,然后再依次放到各个磁盘里。由于每个磁盘会交错的存放数据, 因此数据要写入 RAID 时,会被等量的放在各个磁盘上面。
RAID-0的特点就是:
1、磁盘越多RAID设备的容量就越大。
2、容量的总大小是多个硬盘的容量的总和。
3、磁盘越多,写入的效能就越高。
4、如果使用非等大的硬盘,那么当小的磁盘写满后,就直接向空间大的磁盘中写数据了。
5、最少的磁盘数是2个,而且磁盘使用率为100%
他的致命之处就是:万一其中一个磁盘有问题,那么数据就会全部出问题。因为数据是分开存储的。

      RAID-1:镜像备份
这种模式主要是让同一份数据,完整的保存在不同的磁盘上。由于同一份数据会被分别写入到其他不同磁盘。因此在大量写入 RAID-1 设备的情况下,写入的效能会变的非常差。但如果你使用的是硬件 RAID (磁盘阵列卡) 时,磁盘阵列卡会主动的复制一份而不使用系统的 I/O总线,这对效能影响是不大的。 如果使用软件磁盘阵列,效能就会明显下降了。
RAID-1的特点是:
1、保证了数据的安全,
2、RAID-1设备的容量是所有磁盘容量总和的一半
3、在多个磁盘组成RAID-1设备的时候,总容量将以最小的那一颗磁盘为主
4、读取的效能相对增加。这是因为数据在不同的磁盘上面,如果多个进程在读取同一笔数据时,RAID 会自行取得最佳的读取平衡。
5、磁盘数必需是2的整数倍。磁盘利用率为50%
不足之处就是:写入的效能会降低

       RAID-5:效能与数据备份的均衡考虑
RAID 5:至少需要三个以上的磁盘才能够组成这种类型的磁盘阵列。这种磁盘阵列的数据写入有点类似 RAID-0, 不过每个循环的写入过程中,在每颗磁盘还加入一个校验数据(Parity),这个数据会记录其他磁盘的备份数据, 用于当有磁盘损毁时的救援。
RAID-5的特点:
1、当任何一个磁盘损坏时,都能够通过其他磁盘的检查码来重建原本磁盘内的数据,安全性明显增强。
2、由于有同位检查码的存在,因此 RAID-5 的总容量会是整个磁盘数量减一个。
3、当损毁的磁盘数量大于等于两颗时,那么 RAID-5 的资料就损坏了。 因为 RAID-5 预设只能支持一颗磁盘的损坏情况。
4、在读写效能上与 RAID-0 差不多。
5、最少磁盘是3块,磁盘利用率N-1块
不足:数据写入的效能不一定增加,因为要写入 RAID 5 的数据还得要经过计算校验码 (parity)。所以写入的效能与系统的硬件关系较大。尤其当使用软件磁盘阵列时,校验码 (parity)是通过 CPU 去计算而非专职的磁盘阵列卡, 因此在数据校验恢复的时候,硬盘的效能会明显下降。

下面给大家分享下软raid5的做法:
# rpm -qf /sbin/mdadm                安装软件包
# mdadm -Cv /dev/md5 -l 5 -n 3 /dev/sda5 /dev/sda6 /dev/sda7
mdadm: array /dev/md5 started.
# mdadm -D -s /dev/md5   查看raid信息cat /proc/mdstat
#mkfs.ext3 /dev/md5
#mount /dev/md5 /mnt
生成 /etc/mdadm.conf 配置文件,开机自动识别
[root@lan1 dev]# mdadm -D -s > /etc/mdadm.conf
[root@lan1 dev]# vim !$
ARRAY /dev/md5 level=raid5 num-devices=3 UUID=5a944e39:948186b6:f2927409:b0ee5d4a

模拟损坏
[root@lan1 /]# mdadm /dev/md5 -f /dev/sda6
mdadm: set /dev/sda6 faulty in /dev/md5
[root@lan1 /]# mdadm -D  -s /dev/md5

    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       1       0        0        1      removed
       2       8        7        2      active sync   /dev/sda7

       3       8        6        -      faulty spare   /dev/sda6
将损坏的盘移除
[root@lan1 /]# mdadm /dev/md5 -r /dev/sda6
mdadm: hot removed /dev/sda6
[root@lan1 /]# mdadm -D -s /dev/md5


    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       1       0        0        1      removed
       2       8        7        2      active sync   /dev/sda7
添加一个新盘
[root@lan1 /]# partprobe /dev/sda
[root@lan1 /]# mdadm /dev/md5 -a /dev/sda8
mdadm: added /dev/sda8
[root@lan1 /]# mdadm -D -s /dev/md5        不需要格式化会自动重构
    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       3       8        8        1      spare rebuilding   /dev/sda8
       2       8        7        2      active sync   /dev/sda7
[root@lan1 /]# mdadm -D -s /dev/md5

    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       1       8        8        1      active sync   /dev/sda8
       2       8        7        2      active sync   /dev/sda7
启用与停用
[root@lan1 ~]# mdadm -A -s /dev/md5
mdadm: device /dev/md5 already active - cannot assemble it
[root@lan1 ~]# mdadm -S -s /dev/md5
mdadm: stopped /dev/md5
[root@lan1 ~]# mdadm -D -s /dev/md5
mdadm: md device /dev/md5 does not appear to be active.
[root@lan1 ~]# mdadm -A -s /dev/md5
mdadm: /dev/md5 has been started with 3 drives.
[root@lan1 ~]# mdadm -D -s /dev/md5
/dev/md5:
移除
[root@lan1 /]# umount /mnt
[root@lan1 /]# mdadm -S -s /dev/md5
mdadm: stopped /dev/md5
[root@lan1 /]# mdadm --zero-superblock /dev/sda5 /dev/sda7 /dev/sda8
[root@lan1 /]# mdadm -A -s /dev/md5
mdadm: /dev/md5 assembled from 1 drive - not enough to start the array.
mdadm -as /dev/md5 将设置为阵列随系统启动而启动a是auto的意思

apache的两种工作模式详解


1、prefork.c模块(一个非线程型的、预派生的MPM)
    prefork MPM 使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:他能够使用那些没有处理好线程安全的第三方模块,并 且对于那些线程调试困难的平台而言,他也更容易调试一些。
ServerLimit   20000
StartServers   5
MinSpareServers   5
MaxSpareServers   10
MaxClients   1000
MaxRequestsPerChild 0

ServerLimit     2000
//默认的MaxClient最大是256个线程,假如想配置更大的值,就的加上ServerLimit这个参数。20000是ServerLimit这个参数的最大值。假如需要更大,则必须编译apache,此前都是无需重新编译Apache。
生效前提:必须放在其他指令的前面
StartServers   5
//指定服务器启动时建立的子进程数量,prefork默认为5。
MinSpareServers   5
//指定空闲子进程的最小数量,默认为5。假如当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。此参数不要设的太大。
MaxSpareServers   10
//配置空闲子进程的最大数量,默认为10。假如当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。此参数不要设的太大。假如您将该指令的值配置为比MinSpareServers小,Apache将会自动将其修改成"MinSpareServers+1"。
MaxClients   256
//限定同一时间客户端最大接入请求的数量,默认为256。任何超过MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务。要增大这个值,您必须同时增大ServerLimit 。
MaxRequestsPerChild 10000
//每个子进程在其生存期内允许伺服的最大请求数量,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束。假如MaxRequestsPerChild为"0",子进程将永远不会结束。
将MaxRequestsPerChild配置成非零值有两个好处:
1.能够防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量(重生的机会)。
工作方式:
一个单独的控制进程(父进程)负责产生子进程,这些子进程用于监听请求并作出应答。Apache总是试图保持一些备用的 (spare)或是空闲的子进程 用于迎接即将到来的请求。这样客户端就无需在得到服务前等候子进程的产生。在Unix系统中,父进程通常以root身份运行以便邦定80端口,而 Apache产生的子进程通常以一个低特权的用户运行。User和Group指令用于配置子进程的低特权用户。运行子进程的用户必须要对他所服务的内容有 读取的权限,但是对服务内容之外的其他资源必须拥有尽可能少的权限。
2、worker.c模块(支持混合的多线程多进程的多路处理模块)
    worker MPM 使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。但worker MPM也由不完善的地方,假如一个线程崩溃,整个进程就会连同其任何线程一起"死掉".由于线程共享内存空间,所以一个程式在运行时必须被系统识别为"每 个线程都是安全的"。
ServerLimit   50
ThreadLimit   200
StartServers   5
MaxClients   5000
MinSpareThreads   25
MaxSpareThreads   500
ThreadsPerChild   100
MaxRequestsPerChild 0

ServerLimit   16
//服务器允许配置的进程数上限。这个指令和ThreadLimit结合使用配置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。
ThreadLimit 64
//每个子进程可配置的线程数上限。这个指令配置了每个子进程可配置的线程数ThreadsPerChild上限。任何在重启期间对这个指令的改变都将被忽略,但对ThreadsPerChild的修改却会生效。默认值是"64".
StartServers 3
//服务器启动时建立的子进程数,默认值是"3"。
MinSpareThreads 75
//最小空闲线程数,默认值是"75"。这个MPM将基于整个服务器监控空闲线程数。假如服务器中总的空闲线程数太少,子进程将产生新的空闲线程。
MaxSpareThreads 250
//配置最大空闲线程数。默认值是"250"。这个MPM将基于整个服务器监控空闲线程数。假如服务器中总的空闲线程数太多,子进程将杀死多余的空闲线 程。MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正您配置的值:worker需要其大于等于 MinSpareThreads加上ThreadsPerChild的和
MaxClients 400
//允许同时伺服的最大接入请求数量(最大线程数量)。任何超过MaxClients限制的请求都将进入等候 队列。默认值是"400",16 (ServerLimit)乘以25(ThreadsPerChild)的结果。因此要增加MaxClients的时候,您必须同时增加 ServerLimit的值。
ThreadsPerChild 25
//每个子进程建立的常驻的执行线程数。默认值是25。子进程在启动时建立这些线程后就不再建立新的线程了。
MaxRequestsPerChild 0
//配置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。假如MaxRequestsPerChild为"0",子进程将永远不会结束。
将MaxRequestsPerChild配置成非零值有两个好处:
1.能够防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量(重生的机会)。

注意
对于KeepAlive链接,只有第一个请求会被计数。事实上,他改变了每个子进程限制最大链接数量的行为(这个大家能理解吗??)。
工作方式:
每个进程能够拥有的线程数量是固定的。服务器会根据负载情况增加或减少进程数量。一个单独的控制进程(父进程)负责子进程的建 立。每个子进程能够建立 ThreadsPerChild数量的服务线程和一个监听线程,该监听线程监听接入请求并将其传递给服务线程处理和应答。Apache总是试图维持一个备 用(spare)或是空闲的服务线程池。这样,客户端无须等待新线程或新进程的建立即可得到处理。在Unix中,为了能够绑定80端口,父进程一般都是以 root身份启动,随后,Apache以较低权限的用户建立子进程和线程。User和Group指令用于配置Apache子进程的权限。虽然子进程必须对 其提供的内容拥有读权限,但应该尽可能给予他较少的特权。另外,除非使用了suexec ,否则,这些指令配置的权限将被CGI脚本所继承。

硬限制:
ServerLimi和ThreadLimit这两个指令决定了活动子进程数量和每个子进程中线程数量的硬限制。要想改变这个硬限制必须完全停止服务器然后再启动服务器(直接重启是不行的)。
Apache在编译ServerLimit时内部有一个硬性的限制,您不能超越这个限制。
prefork MPM最大为"ServerLimit 200000"
其他MPM(包括work MPM)最大为"ServerLimit 20000
Apache在编译ThreadLimit时内部有一个硬性的限制,您不能超越这个限制。
mpm_winnt是"ThreadLimit 15000"
其他MPM(包括work prefork)为"ThreadLimit 20000

注意:
使用ServerLimit和ThreadLimit时要特别当心。假如将ServerLimit和ThreadLimit配置成一个高出实际需要许多的值,将会有过多的共享内存被分配。当配置成超过系统的处理能力,Apache可能无法启动,或系统将变得不稳定。

分享几个vim里常用的快捷键

1,注释所有的行:ctrl+v j/k+ shift +i
2,查看光标当前的man手册 shift+k
3,d+f+字符
4,选中面积 v+t+字符
5,在vim里面删除光标后的所有字符 shift+d
6,删除当前光标上的单词 d+i+w
7,选中当前光标上的单词 v+i+w

删除登录服务器的相关信息

Linux下挂载lvm管理的文件系统,备份数据,并解决lvm同名冲突问题


NND,今天改了几个linux的内核参数,然后终端就操作不了了,重启也无用,起不来,因为自己不在机房,所以没办法看到错误提示,也不能进入单用户模式去修复linux操作系统,最后机房的人拿新的硬盘安装了操作系统,再把磁盘挂载到这个新系统上,然后我就准备把数据备份出来,2个系统分区格式全为系统默认分区,系统默认使用的lvm格式,并且默认的卷都是 VolGroup00 ,彻底无语,以下是具体备份方法:

使用 pvs 查看显示如下:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 136.62G 0
/dev/sdb2 VolGroup00 lvm2 a- 136.62G 0
发现可以正确认别到两个VG,但是同名,如何挂载呢?
解决办法是,将原来的VG更名,解决冲突即可挂载。



重命名格式为:vgrename VolGroup00 VolGroup01
此时会提示:
[root@localhost ~]# vgrename VolGroup00 VolGroup01
Found more than one VG called VolGroup00. Please supply VG uuid.
原因是存在两个 VolGroup00,修改的方法他已经提示了要指定 VG uuid即可。


查看VG uuid的命令为:
[root@localhost ~]# vgs -v
Finding all volume groups
Finding volume group "VolGroup00"
Finding volume group "VolGroup00"
VG Attr Ext #PV #LV #SN VSize VFree VG UUID
VolGroup00 wz--n- 32.00M 1 2 0 136.62G 0 dcHa6G-abU2-Xfq8-EPBm-jBLj-sf18-O5uH0U
VolGroup00 wz--n- 32.00M 1 2 0 136.62G 0 OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9



查到VG uuid以后,再次执行改名:
[root@localhost ~]# vgrename OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9 VolGroup01
Volume group "VolGroup00" still has active LVs



修改成功以后,再执行:lvscan
[root@localhost ~]# lvscan
inactive '/dev/VolGroup01/LogVol00' [130.84 GB] inherit
inactive '/dev/VolGroup01/LogVol01' [5.78 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol00' [130.84 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol01' [5.78 GB] inherit
可以看到新修改的VolGroup01是inactive状态。


再使用vgchange 加载 VolGroup01
[root@localhost ~]# vgchange -ay /dev/VolGroup01
2 logical volume(s) in volume group "VolGroup01" now active


最后 mount 就可以
[root@localhost ~]#mkdir /mnt/old
[root@localhost ~]# mount /dev/VolGroup01/LogVol00 /mnt/old
[root@localhost ~]#tar -zcvf back_20101217.tar.gz /mnt/old/var/lib/mysql /mnt/old/usr/local/nginx/htdocs/
然后想办法把back_20101217.tar.gz拷贝到本地来就可以了
至此,全部完成。

获取用户IP地址的三个属性的区别

 一、没有使用代理服务器的情况:

  REMOTE_ADDR = 您的 IP

  HTTP_VIA = 没数值或不显示

  HTTP_X_FORWARDED_FOR = 没数值或不显示

  二、使用代理服务器的情况:

  REMOTE_ADDR = 最后一个代理服务器 IP

  HTTP_VIA = 代理服务器 IP

  HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215.

  这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

关于使用vmware上网的几种方式介绍

我们在kictstart+pxe无人值守安装的时候要用到虚拟机,很多人不明白虚拟机与物理机连接的几种方式,或者说他们有什么不同,什么情况下使用什么样的连接方式?在这里我详细讲解一下:
   首先认识一下网络接口设备:
    VMnet0:用于虚拟桥接网络下的虚拟交换机

  VMnet1:用于虚拟Host-Only网络下的虚拟交换机

  VMnet8:用于虚拟NAT网络下的虚拟交换机

    在我们安装了VMware虚拟机后,我们的物理机上在网络连接对话框中会多出两个虚拟网卡

  VMware Network Adepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡

  VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡

    我们知道VMware也分好几种版本,但是不管使用哪种版本,我们都能发现在安装过程中让我们选择网络模式。在默认情况下会选中NAT模式,但有用户会问其他模式是干什么用的?有时候选择了其他模式之后就不能上网了。这是为什么?我们来看一下VMware 的3种网络模式的功能和通信规则:

    (1)Bridged方式
        用这种方式,虚拟系统的IP可设置成与本机系统在同一网段,虚拟系统相当于网络内的一台独立的机器,与本机共同插在一个交换机上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然与本机系统的双向访问也不成问题。

    (2)NAT方式
        这种方式也可以实现本机系统与虚拟系统的双向访问.但网络内其他机器不能访问虚拟系统,但虚拟系统可通过本机系统用NAT协议访问网络内其他机器,并且可以跟物理机一样上网

    (3)host-only方式
        顾名思义这种方式只能进行虚拟机和主机之间的网络通信,既网络内其他机器不能访问虚拟系统,虚拟系统也不能访问其他机器.

      (4)自定义
        这个很灵活,大家根据自己喜好自己设定.....

      
        举例说明:
bridged模式
物理机的本地连接设置
IP地址: 192.168.1.10
子网掩码: 255.255.255.0
默认网关: 192.168.1.1 (根据自己的网络情况填写)
首选DNS:8.8.8.8

虚拟系统本地连接设置
IP地址: 192.168.1.11
子网掩码: 255.255.255.0
默认网关: 192.168.1.1 (根据自己的网络情况填写)
首选DNS:8.8.8.8
这样虚拟系统就相当于网络中的一台真实机器可以上网了。

2、NAT模式
这种方式不占用网络中的IP地址,只要物理主机能上网,那么虚拟系统就能上网。
修改物理主机的虚拟网卡VMware Network Adepter VMnet8,比如说设置成192.168.10.10,掩码是255.255.255.0
虚拟系统本地连接设置

IP地址: 192.168.10.11
子网掩码: 255.255.255.0
这样虚拟系统就可以和本地主机一样上网了,具体的网关根据实际情况设置

3、host-only模式
这种方式设置方法和Bridge模式基本一样,只要物理主机的VMware Network Adepter VMnet1中设置和虚拟系统中本地连接在同一个网段就可以。
本机的本地连接设置
IP地址:   192.168.2.10
子网掩码: 255.255.255.0

虚拟系统本地连接设置
IP地址:    192.168.2.11
子网掩码:  255.255.255.0
这种方式不能上网,要想上网需要共享一下物理主机的本地连接,如果用这样的方式去上网我们还不如用nat方式呢,是不是呢?
最后献上一张图给大家,帮助大家理解

 
请点击下面内容详细了解如何实现上网:
vmware6实现nat上网