创建脚本/root/script/backup.sh
衡山网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
# 该脚本应用于10多台普通的Linux应用服务器,多年来从未出过差错。
# 数据库备份较为特殊,这里不包含数据库备份。
# 因为脚本中含有FTP密码,所以FTP仅给予写权限较为安全,FTP中的老备份的定期删除任务由FTP服务器完成。
# 备份加入到自动任务中,每周六23:00执行,并写入日志,如下:
# 追加下面语句到/etc/crontab中
# 0 23 * * 6 root /root/script/backup.sh /root/script/backup.log 21
#有注释版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
#参数设定
basedir=/opt/backup #备份存放的目录
days=15 #备份在本地保留天数
bakfiles="/root/script /etc" #需要备份的目录或文件,请不要使用快捷方式或通配符
ftpip=XXX.XXX.XXX.XXX #异地备份的FTP地址
ftpuser='username' #异地备份的FTP用户名
ftppw='password' #异地备份的FTP密码
echo =====================================================
date
cd $basedir
#删除备份目录中15天以前备份文件,不包含子目录
find -maxdepth 1 -name "*.tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
#压缩打包需要备份的目录,包括权限,文件命名包含当前时间
tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile
#大文件打包前后,缓解磁盘压力,降低I/O错误概率
sleep 10s ;sync;sync
done
#通过FTP上传当天备份的文件到异地
ftp -v -n -i $ftpip END
user $ftpuser $ftppw
bin
mput *$(date +%Y%m%d)*.tgz
bye
END
#无注释版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
basedir=/opt/backup
days=15
bakfiles="/root/script /etc"
ftpip=XXX.XXX.XXX.XXX
ftpuser='username'
ftppw='password'
echo =====================================================
date
cd $basedir
find -maxdepth 1 -name "*.tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile
sleep 10s ;sync;sync
done
ftp -v -n -i $ftpip END
user $ftpuser $ftppw
bin
mput *$(date +%Y%m%d)*.tgz
bye
END
Mysql的备份,如果凌晨可以停止几分钟,那么强烈建议对Mysql执行物理备份,脚本如下
#!/bin/bash
#History
#=====================================================
#When Who What
#2010/3/24 Zhaoyn Create
#
#=====================================================
basedir=/opt/backup
updir=$basedir/updir
timenow=$(date +%Y%m%d-%H%M)
# 删除mysql十四天前的数据,注意,这里仅删除了mysql的tgz文件。
rm -f `find $basedir -name "mysql*.tgz" -mtime +14`
# 由于数据库在有连接的情况下,直接对数据文件打包是可能出问题的,所以这里我们在打包前要停用数据库,这样直接对数据文件打包,恢复时只需解压数据文件到新环境相应的目录即可,默认是/var/lib/mysql
# 如果白天也要进行数据库备份,请使用mysqldump命令,进行在线备份。恢复也挺方便的。
/etc/rc.d/init.d/mysqld stop
sleep 5s ;sync;sync
tar -czpf $basedir/mysql.$timenow.tgz /var/lib/mysql
/etc/rc.d/init.d/mysqld start
#=====================================================
附件中的脚本文件是有DOS换行符(CR/LF)的,复制文件中的内容到SSH客户端没有问题,如果直接拷贝文件到Linux系统中,可先运行下面的命令:
mv *.txt *sh
dos2unix *.sh
1,基于apache的web服务器基础搭建:
(1)实验环境:一台ip为192.168.10.10的rhel5.9主机作为web服务器,一台ip为192.168.10.15的win7主机作为测试机
(2)查看服务主机软件是否安装
[root@ser1 ~]# rpm -q httpd httpd-manual httpd-devel
package httpd is not installed
package httpd-manual is not installed
package httpd-devel is not installed
(3)安装软件包
[root@ser1 ~]# yum install -y httpd httpd-manual httpd-devel
(4)启动服务
[root@ser1 ~]# service httpd start
启动httpd: [确定]
[root@ser1 ~]# chkconfig httpd on
(5)在win7上测试,无网页缺省下显示红帽测试页
报错页面存放位置/var/www/error/noindex.html
wKioL1Mb2uORI8EtAASazHYmqP8425.jpg
(6)打开配置文件
[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf
可获得以下重要字段:
目录设置:
Directory 目录 .. .. /Directory
访问位置设置:
LocationURL .. .. /Location
虚拟主机设置:
VirtualHost 监听地址 .. .. /VirtualHost
常用的全局设置参数:
ServerName本站点的FQDN名称
DocumentRoot网页文档的根目录:缺省/var/www/html/
DirectoryIndex默认索引页/首页文件:一般设为index.html index.php
ErrorLog错误日志文件的位置
CustomLog 访问日志文件的位置
Listen 监听服务的IP地址、端口号
ServerRoot 服务目录:/etc/httpd/
Timeout网络连接超时,默认 300 秒
KeepAlive是否保持连接,可选On或Off
MaxKeepAliveRequests每次连接最多处理的请求数
KeepAliveTimeout保持连接的超时时限
Include 可包含其他子配置文件: /etc/httpd/conf.d/
(7)创建测试网页
[root@ser1 ~]# vim /var/www/html/index.html
h1
This is a test page !!!
/h1
~
(8)win7下测试,主页变为测试网页
wKioL1Mb2xKDIxJ8AADmMPwbQrU088.jpg
2,基于apache的web服务器的访问控制:
(1)web服务的地址限制
I,rder 配置项,定义控制顺序
allow,deny 先允许后拒绝,缺省拒绝所有;冲突时,拒绝生效;allow不设置,拒绝所有
deny,allow 先拒绝后允许,缺省允许所有;冲突时,允许生效;deny不设置,允许所有
II,Allow/Deny from 配置项,设置权限
Allow from 地址1 地址2 .. ..
Deny from 地址1 地址2 .. ..
配置如下:
[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf
331 #
332 Orderallow,deny
333 Allowfrom 192.168.20.0/24
334
335 /Directory
[root@ser1 ~]# service httpd restart……重启服务
停止httpd: [确定]
启动httpd: [确定]
在win7上测试,测试完成并还原配置文件:
wKiom1Mb22Pi1WcbAAIdasyq1FQ074.jpg
汇编(六)——汇编语言程序格式及MASM
汇编语言的实现也是先利用某种编辑器编写汇编语言源程序(*.ASM),然后经过汇编得到目标模块文件(*.OBJ)、连接后形成可执行文件(*.EXE)。
1、汇编语言程序的语句格式
汇编语源程序由语句序列构成。语句一般由分隔符分成的四个部分组成,它们有两种格式:
(1)执行性语句——由硬指令构成的语句,它通常对应一条机器指令,出现在程序的代码段中:
标号:硬指令助记符 操作数,操作数 ;注释
(2)说明性语句——由伪指令构成的语句,它通常指示汇编程序如何汇编源程序:
名字 伪指令助记符 参数,参数,... ;注释
◆执行性语句中,冒号前的标号反映该指令的逻辑地址;说明性语句中的名字可以是变量名、段名、子程序名或宏名等等,既反映逻辑地址又具有自身的各种属性。标号和名字很容易通过是否具有冒号来区分。
◆硬指令助记符可以是任何一条处理器指令,也可以是一条宏指令,伪指令助记符主要完成一些不产生CPU动作的说明性工作,在程序执行前由汇编程序完成处理。
◆处理器指令的操作数可以是立即数、寄存器和存储单元。伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号隔开。
◆语句中由分号开始的部分是注释。
2、汇编语言源程序
这个以前已经学过,主要有简化段定义格式和完整段定义格式
3、宏汇编程序MASM
MASM6.11,安装文件5张软盘,默认安装在C:\MASM目录下,完整的MASM汇编系统包含很多文件,但最基本的有如下几个:
ML.EXE 汇编程序
ML.ERR 汇编错误信息文件
DOSXNT.EXE MS-DOS扩展文件
LINK.EXE 连接文件
LIB.EXE 子程序库管理文件
如果采用集成开发环境PWB,主要涉及如下文件:
PWWB.EXE 程序员工作平台
NMAKER.EXE 工程维护程序
NMAKE.EXE nmaker的MS-DOS扩展驱动程序
CV.EXE 源代码调试器CodeView
CVPACK.EXE 调试信息压缩器,它为CODEVIEW准备一个可执行文件
HELPMAKE.EXE 帮助文件维护程序
BSCMAKE.EXE 浏览数据库创建程序
SBRPACK.EXE 浏览信息程序
PWBRMAKE.EXE BSCMAKE兼容驱动程序
*.MXT 各种PWB扩展工具文件
*.XXT 各种语言的PWB扩展文件
4、汇编语言的命令行开发过程
(1)原程序的编写
用编辑软件书写*.asm源程序,如
LI6-1.ASM
;LI6-1.ASM
.MODEL SMALL
.STACK
.DATA
STRING DB 'Hello,Everybody!'
.CODE
.STARTUP
MOV DX,OFFSET STRING
MOV AH,9
INT 21H
.EXIT 0
END
(2)原程序的汇编
汇编是将原程序翻译成由机器代码组成的目标模块文件的过程,如下:
ML /c LI6-1.ASM
如果源程序没有语法错误,则生成一个目标模块文件LI6-1.OBJ
(3)目标文件的连接
连接程序能把一个或多个目标文件和库文件和成一个可执行文件(.EXE、.COM文件),如下:
LINK LI6-1.OBJ
连接程序的一般格式:
LINK [/参数选项] OBJ文件列表 [EXE文件名,MAP文件名,库文件][;]
连接程序可以将多个模块文件连接起来,形成一个可执行文件;多个模块文件用“+”分隔。给出EE文件名就可以替代与第一个模块文件名相同的缺省名。给出MAP文件名将创建连接映像文件,否则不生成映像文件。库文件是指连接程序需要的子程序库等。“;”表示采用缺省值
事实上,ML汇编程序可以自动调用LINK连接程序(ML表示MASM和LINK),实现汇编和连接依次进行,如下即可完成可执行文件的生成:
ML LI6-1.ASM
ML的命令行格式如下:
ML [/参数选项] 文件列表 [/LINK连接参数选项]
参数选项如下(注意参数是大小写敏感的):
/AT——允许tiny存储模式(创建一个COM文件)
/c——只汇编源程序,不进行自动连接
/fl 文件名——川建一个汇编列表文件(扩展名LST)
/Fr 文件名——创建一个可在PWB下浏览的.SBR源浏览文件
/Fo 文件名——根据指定的文件名生成模块文件,而不是采用缺省名
/Fe 文件名——根据指定的文件名生成可执行文件,而不是采用缺省名
/Fm 文件名——创建一个连接映像文件(扩展名MAP)
/I 路径名——设置需要包含进(INCLUDE)源程序的文件的所在路径
/Sg——在生成的文件列表文件中,列出由汇编程序产生的指令
/Sn——在创建列表文件时不产生符号表
/Zi——生成模块文件时,加入调试程序CODEVIEW需要的信息
/Zs——只进行语法检查,不产生任何代码
/LINK——传递给连接程序LINK的参数
列表文件是一种文本文件,含有源程序和目标代码,创建列表文件,输入如下命令:
ML /Fl /Sg LI6-1.ASM
该命令除产生模块文件LI6-1.OBJ和可执行文件LI6-1.EXE,还产生列表文件LI6-1.LST,采用/Sg,如果源程序具有.STARTUP、.EXIT伪指令以及流程控制伪指令.IF、.WHILE等,将在列表文件中得到相应的硬指令;否则列表文件只给出上述伪指令。LI6-1.LST如下:
li6-1.lst
Microsoft (R) Macro Assembler Version 6.11 08/10/05 14:09:13
li6-1.asm Page 1 - 1
;LI6-1.ASM
.MODEL SMALL
.STACK
0000 .DATA
0000 48 65 6C 6C 6F 2C STRING DB 'Hello,Everybody!'
45 76 65 72 79 62
6F 64 79 21
0000 .CODE
.STARTUP
0000 *@Startup:
0000 BA ---- R * mov dx, DGROUP
0003 8E DA * mov ds, dx
0005 8C D3 * mov bx, ss
0007 2B DA * sub bx, dx
0009 D1 E3 * shl bx, 001h
000B D1 E3 * shl bx, 001h
000D D1 E3 * shl bx, 001h
000F D1 E3 * shl bx, 001h
0011 FA * cli
0012 8E D2 * mov ss, dx
0014 03 E3 * add sp, bx
0016 FB * sti
0017 BA 0000 R MOV DX,OFFSET STRING
001A B4 09 MOV AH,9
001C CD 21 INT 21H
.EXIT 0
001E B8 4C00 * mov ax, 04C00h
0021 CD 21 * int 021h
END
Microsoft (R) Macro Assembler Version 6.11 08/10/05 14:09:13
li6-1.asm Symbols 2 - 1
Segments and Groups:
N a m e Size Length Align Combine Class
DGROUP . . . . . . . . . . . . . GROUP
_DATA . . . . . . . . . . . . . 16 Bit 0010 Word Public 'DATA'
STACK . . . . . . . . . . . . . 16 Bit 0400 Para Stack 'STACK'
_TEXT . . . . . . . . . . . . . 16 Bit 0023 Word Public 'CODE'
Symbols:
N a m e Type Value Attr
@CodeSize . . . . . . . . . . . Number 0000h
@DataSize . . . . . . . . . . . Number 0000h
@Interface . . . . . . . . . . . Number 0000h
@Model . . . . . . . . . . . . . Number 0002h
@Startup . . . . . . . . . . . . L Near 0000 _TEXT
@code . . . . . . . . . . . . . Text _TEXT
@data . . . . . . . . . . . . . Text DGROUP
@fardata? . . . . . . . . . . . Text FAR_BSS
@fardata . . . . . . . . . . . . Text FAR_DATA
@stack . . . . . . . . . . . . . Text DGROUP
STRING . . . . . . . . . . . . . Byte 0000 _DATA
0 Warnings
0 Errors
◆列表文件有两部分内容。在第一部分源程序中,最左列是数据或指令在该段从0开始的相对偏移地址,向右依次是指令的机器代码字节个数、机器代码和汇编语言语句。机器代码后有字母"R"表示该指令的立即数/位移量现在不能确定或是只是相对地址,它将在程序连接或进入主存时才能定位。带有“*”的处理器指令是由前面一条伪指令产生的,采用/Sg选项时的列表文件才罗列。如果陈序中有错误(ERROR)或警告(WARMING),也会会在相应位置提示。
列表文件的第二部分是标示符使用情况。对段名和组名给出他们的名字(NAME)、尺寸(Size)、长度(Length)、定位(Align)、组合(Combine)和类别(Class)属性;对符号给出他们的名字、类型(Type)、数值(Value)和属性(Attr)。采用简化段定义格式,有许多汇编系统的预定义标示符,例如@DATA等。
◆映像文件也是一种文本文件,含有每段在存储器中的分配情况。如下命令创建:
ML /Fm LI6-1.ASM
将产生LI6-1.MAP映像文件,如下:
LI6-1.MAP
Start Stop Length Name Class
00000H 00022H 00023H _TEXT CODE
00024H 00033H 00010H _DATA DATA
00040H 0043FH 00400H STACK STACK
Origin Group
0002:0 DGROUP
Address Publics by Name
Address Publics by Value
Program entry point at 0000:0000
映像文件中首先给出了该程序各个逻辑段的起点(Start)、终点(sTOP)、长度(Length)、段名(Name)和类别(Class);然后是段组(GROUP)位置和组名;最后提示程序开始执行的逻辑地址。注意,这里的起点、终点和段地址是以该程序文件开头而言的相对地址,实际的绝对地址需要在程序进入主存后确定。
5、可执行程序的调试
只要在操作系统下输入文件名即可:
LI6-1
操作系统装在该文件进入主存,开始运行,是用DEBUG调试时:
DEBUG LI6-1.EXE
其中,BX.CX反映程序的大小,CS:IP指向程序开始执行的第一条指令,SS:SP指向堆栈段,DS和ES并不指向程序数据段,而是指向程序前100H处(这部分是该程序的短前缀PSP);所以,DS和ES应该在程序当中进行设置,正如该程序.STARTUP伪指令所完成的。采用简化段定义格式的程序,在主存中从低到高依次安排代码段、数据段和堆栈段。
找的好辛苦呀
大哥看的好的话就加给小弟呀
呵呵
祝你成功呀
主要分为以下几类:
第一类,是最常规的32和64位版本:kali-linux-2016.2-amd64.iso kali-linux-2016.2-i386.iso
第二类是简化版:kali-linux-light-2016.2-amd64.isokali-linux-light-2016.2-armel.img.xzkali-linux-light-2016.2-armhf.img.xzkali-linux-light-2016.2-i386.iso
第三类,是新增的四种桌面版,如e17、lxde、mate和xfce。kali-linux-e17-2016.2-amd64.isokali-linux-lxde-2016.2-amd64.isokali-linux-mate-2016.2-amd64.isokali-linux-xfce-2016.2-amd64.iso以前的mini版本,暂时没有提供,可能被取消了。
扩展资料:
Kali Linux常见命令:
ls:查看当前目录。
ls-l:查看目录下文件的权限。
clear:清除本页。
ls-lh:以k、M输出文件大小。
ls-a:输出隐藏属性。
cd、cd..与windows相同 。
pwb:查看当前工作目录。
cat:查看文本类型文件内容。
more:百分比查看文本内容。
less:与more相比没有百分比数,其余相同。
tail -n:查看最后n行内容。watch -n x tail -n :每隔x秒查看一次最后n行的内容。
rm aa.txt:删除文件。cp 相反。
top:监视系统的性能参数。
ps-ef:显示进程的详细信息。
grep:筛选显示内容。加-v不显示。
ifconfig:查看网络配置信息。
ifconfig eth0 down/up:将网卡当掉/回复。
netstat -pantu:查看计算机与那些计算机进行了网络交互。