創(chuàng)建腳本/root/script/backup.sh
衡山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
# 該腳本應(yīng)用于10多臺普通的Linux應(yīng)用服務(wù)器,多年來從未出過差錯。
# 數(shù)據(jù)庫備份較為特殊,這里不包含數(shù)據(jù)庫備份。
# 因為腳本中含有FTP密碼,所以FTP僅給予寫權(quán)限較為安全,F(xiàn)TP中的老備份的定期刪除任務(wù)由FTP服務(wù)器完成。
# 備份加入到自動任務(wù)中,每周六23:00執(zhí)行,并寫入日志,如下:
# 追加下面語句到/etc/crontab中
# 0 23 * * 6 root /root/script/backup.sh /root/script/backup.log 21
#有注釋版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
#參數(shù)設(shè)定
basedir=/opt/backup #備份存放的目錄
days=15 #備份在本地保留天數(shù)
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`
#壓縮打包需要備份的目錄,包括權(quán)限,文件命名包含當(dāng)前時間
tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile
#大文件打包前后,緩解磁盤壓力,降低I/O錯誤概率
sleep 10s ;sync;sync
done
#通過FTP上傳當(dāng)天備份的文件到異地
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的備份,如果凌晨可以停止幾分鐘,那么強(qiáng)烈建議對Mysql執(zhí)行物理備份,腳本如下
#!/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十四天前的數(shù)據(jù),注意,這里僅刪除了mysql的tgz文件。
rm -f `find $basedir -name "mysql*.tgz" -mtime +14`
# 由于數(shù)據(jù)庫在有連接的情況下,直接對數(shù)據(jù)文件打包是可能出問題的,所以這里我們在打包前要停用數(shù)據(jù)庫,這樣直接對數(shù)據(jù)文件打包,恢復(fù)時只需解壓數(shù)據(jù)文件到新環(huán)境相應(yīng)的目錄即可,默認(rèn)是/var/lib/mysql
# 如果白天也要進(jìn)行數(shù)據(jù)庫備份,請使用mysqldump命令,進(jìn)行在線備份。恢復(fù)也挺方便的。
/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)的,復(fù)制文件中的內(nèi)容到SSH客戶端沒有問題,如果直接拷貝文件到Linux系統(tǒng)中,可先運(yùn)行下面的命令:
mv *.txt *sh
dos2unix *.sh
1,基于apache的web服務(wù)器基礎(chǔ)搭建:
(1)實驗環(huán)境:一臺ip為192.168.10.10的rhel5.9主機(jī)作為web服務(wù)器,一臺ip為192.168.10.15的win7主機(jī)作為測試機(jī)
(2)查看服務(wù)主機(jī)軟件是否安裝
[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)啟動服務(wù)
[root@ser1 ~]# service httpd start
啟動httpd: [確定]
[root@ser1 ~]# chkconfig httpd on
(5)在win7上測試,無網(wǎng)頁缺省下顯示紅帽測試頁
報錯頁面存放位置/var/www/error/noindex.html
wKioL1Mb2uORI8EtAASazHYmqP8425.jpg
(6)打開配置文件
[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf
可獲得以下重要字段:
目錄設(shè)置:
Directory 目錄 .. .. /Directory
訪問位置設(shè)置:
LocationURL .. .. /Location
虛擬主機(jī)設(shè)置:
VirtualHost 監(jiān)聽地址 .. .. /VirtualHost
常用的全局設(shè)置參數(shù):
ServerName本站點的FQDN名稱
DocumentRoot網(wǎng)頁文檔的根目錄:缺省/var/www/html/
DirectoryIndex默認(rèn)索引頁/首頁文件:一般設(shè)為index.html index.php
ErrorLog錯誤日志文件的位置
CustomLog 訪問日志文件的位置
Listen 監(jiān)聽服務(wù)的IP地址、端口號
ServerRoot 服務(wù)目錄:/etc/httpd/
Timeout網(wǎng)絡(luò)連接超時,默認(rèn) 300 秒
KeepAlive是否保持連接,可選On或Off
MaxKeepAliveRequests每次連接最多處理的請求數(shù)
KeepAliveTimeout保持連接的超時時限
Include 可包含其他子配置文件: /etc/httpd/conf.d/
(7)創(chuàng)建測試網(wǎng)頁
[root@ser1 ~]# vim /var/www/html/index.html
h1
This is a test page !!!
/h1
~
(8)win7下測試,主頁變?yōu)闇y試網(wǎng)頁
wKioL1Mb2xKDIxJ8AADmMPwbQrU088.jpg
2,基于apache的web服務(wù)器的訪問控制:
(1)web服務(wù)的地址限制
I,rder 配置項,定義控制順序
allow,deny 先允許后拒絕,缺省拒絕所有;沖突時,拒絕生效;allow不設(shè)置,拒絕所有
deny,allow 先拒絕后允許,缺省允許所有;沖突時,允許生效;deny不設(shè)置,允許所有
II,Allow/Deny from 配置項,設(shè)置權(quán)限
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……重啟服務(wù)
停止httpd: [確定]
啟動httpd: [確定]
在win7上測試,測試完成并還原配置文件:
wKiom1Mb22Pi1WcbAAIdasyq1FQ074.jpg
匯編(六)——匯編語言程序格式及MASM
匯編語言的實現(xiàn)也是先利用某種編輯器編寫匯編語言源程序(*.ASM),然后經(jīng)過匯編得到目標(biāo)模塊文件(*.OBJ)、連接后形成可執(zhí)行文件(*.EXE)。
1、匯編語言程序的語句格式
匯編語源程序由語句序列構(gòu)成。語句一般由分隔符分成的四個部分組成,它們有兩種格式:
(1)執(zhí)行性語句——由硬指令構(gòu)成的語句,它通常對應(yīng)一條機(jī)器指令,出現(xiàn)在程序的代碼段中:
標(biāo)號:硬指令助記符 操作數(shù),操作數(shù) ;注釋
(2)說明性語句——由偽指令構(gòu)成的語句,它通常指示匯編程序如何匯編源程序:
名字 偽指令助記符 參數(shù),參數(shù),... ;注釋
◆執(zhí)行性語句中,冒號前的標(biāo)號反映該指令的邏輯地址;說明性語句中的名字可以是變量名、段名、子程序名或宏名等等,既反映邏輯地址又具有自身的各種屬性。標(biāo)號和名字很容易通過是否具有冒號來區(qū)分。
◆硬指令助記符可以是任何一條處理器指令,也可以是一條宏指令,偽指令助記符主要完成一些不產(chǎn)生CPU動作的說明性工作,在程序執(zhí)行前由匯編程序完成處理。
◆處理器指令的操作數(shù)可以是立即數(shù)、寄存器和存儲單元。偽指令的參數(shù)可以是常數(shù)、變量名、表達(dá)式等,可以有多個,參數(shù)之間用逗號隔開。
◆語句中由分號開始的部分是注釋。
2、匯編語言源程序
這個以前已經(jīng)學(xué)過,主要有簡化段定義格式和完整段定義格式
3、宏匯編程序MASM
MASM6.11,安裝文件5張軟盤,默認(rèn)安裝在C:\MASM目錄下,完整的MASM匯編系統(tǒng)包含很多文件,但最基本的有如下幾個:
ML.EXE 匯編程序
ML.ERR 匯編錯誤信息文件
DOSXNT.EXE MS-DOS擴(kuò)展文件
LINK.EXE 連接文件
LIB.EXE 子程序庫管理文件
如果采用集成開發(fā)環(huán)境PWB,主要涉及如下文件:
PWWB.EXE 程序員工作平臺
NMAKER.EXE 工程維護(hù)程序
NMAKE.EXE nmaker的MS-DOS擴(kuò)展驅(qū)動程序
CV.EXE 源代碼調(diào)試器CodeView
CVPACK.EXE 調(diào)試信息壓縮器,它為CODEVIEW準(zhǔn)備一個可執(zhí)行文件
HELPMAKE.EXE 幫助文件維護(hù)程序
BSCMAKE.EXE 瀏覽數(shù)據(jù)庫創(chuàng)建程序
SBRPACK.EXE 瀏覽信息程序
PWBRMAKE.EXE BSCMAKE兼容驅(qū)動程序
*.MXT 各種PWB擴(kuò)展工具文件
*.XXT 各種語言的PWB擴(kuò)展文件
4、匯編語言的命令行開發(fā)過程
(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)原程序的匯編
匯編是將原程序翻譯成由機(jī)器代碼組成的目標(biāo)模塊文件的過程,如下:
ML /c LI6-1.ASM
如果源程序沒有語法錯誤,則生成一個目標(biāo)模塊文件LI6-1.OBJ
(3)目標(biāo)文件的連接
連接程序能把一個或多個目標(biāo)文件和庫文件和成一個可執(zhí)行文件(.EXE、.COM文件),如下:
LINK LI6-1.OBJ
連接程序的一般格式:
LINK [/參數(shù)選項] OBJ文件列表 [EXE文件名,MAP文件名,庫文件][;]
連接程序可以將多個模塊文件連接起來,形成一個可執(zhí)行文件;多個模塊文件用“+”分隔。給出EE文件名就可以替代與第一個模塊文件名相同的缺省名。給出MAP文件名將創(chuàng)建連接映像文件,否則不生成映像文件。庫文件是指連接程序需要的子程序庫等?!?”表示采用缺省值
事實上,ML匯編程序可以自動調(diào)用LINK連接程序(ML表示MASM和LINK),實現(xiàn)匯編和連接依次進(jìn)行,如下即可完成可執(zhí)行文件的生成:
ML LI6-1.ASM
ML的命令行格式如下:
ML [/參數(shù)選項] 文件列表 [/LINK連接參數(shù)選項]
參數(shù)選項如下(注意參數(shù)是大小寫敏感的):
/AT——允許tiny存儲模式(創(chuàng)建一個COM文件)
/c——只匯編源程序,不進(jìn)行自動連接
/fl 文件名——川建一個匯編列表文件(擴(kuò)展名LST)
/Fr 文件名——創(chuàng)建一個可在PWB下瀏覽的.SBR源瀏覽文件
/Fo 文件名——根據(jù)指定的文件名生成模塊文件,而不是采用缺省名
/Fe 文件名——根據(jù)指定的文件名生成可執(zhí)行文件,而不是采用缺省名
/Fm 文件名——創(chuàng)建一個連接映像文件(擴(kuò)展名MAP)
/I 路徑名——設(shè)置需要包含進(jìn)(INCLUDE)源程序的文件的所在路徑
/Sg——在生成的文件列表文件中,列出由匯編程序產(chǎn)生的指令
/Sn——在創(chuàng)建列表文件時不產(chǎn)生符號表
/Zi——生成模塊文件時,加入調(diào)試程序CODEVIEW需要的信息
/Zs——只進(jìn)行語法檢查,不產(chǎn)生任何代碼
/LINK——傳遞給連接程序LINK的參數(shù)
列表文件是一種文本文件,含有源程序和目標(biāo)代碼,創(chuàng)建列表文件,輸入如下命令:
ML /Fl /Sg LI6-1.ASM
該命令除產(chǎn)生模塊文件LI6-1.OBJ和可執(zhí)行文件LI6-1.EXE,還產(chǎn)生列表文件LI6-1.LST,采用/Sg,如果源程序具有.STARTUP、.EXIT偽指令以及流程控制偽指令.IF、.WHILE等,將在列表文件中得到相應(yīng)的硬指令;否則列表文件只給出上述偽指令。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
◆列表文件有兩部分內(nèi)容。在第一部分源程序中,最左列是數(shù)據(jù)或指令在該段從0開始的相對偏移地址,向右依次是指令的機(jī)器代碼字節(jié)個數(shù)、機(jī)器代碼和匯編語言語句。機(jī)器代碼后有字母"R"表示該指令的立即數(shù)/位移量現(xiàn)在不能確定或是只是相對地址,它將在程序連接或進(jìn)入主存時才能定位。帶有“*”的處理器指令是由前面一條偽指令產(chǎn)生的,采用/Sg選項時的列表文件才羅列。如果陳序中有錯誤(ERROR)或警告(WARMING),也會會在相應(yīng)位置提示。
列表文件的第二部分是標(biāo)示符使用情況。對段名和組名給出他們的名字(NAME)、尺寸(Size)、長度(Length)、定位(Align)、組合(Combine)和類別(Class)屬性;對符號給出他們的名字、類型(Type)、數(shù)值(Value)和屬性(Attr)。采用簡化段定義格式,有許多匯編系統(tǒng)的預(yù)定義標(biāo)示符,例如@DATA等。
◆映像文件也是一種文本文件,含有每段在存儲器中的分配情況。如下命令創(chuàng)建:
ML /Fm LI6-1.ASM
將產(chǎn)生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)位置和組名;最后提示程序開始執(zhí)行的邏輯地址。注意,這里的起點、終點和段地址是以該程序文件開頭而言的相對地址,實際的絕對地址需要在程序進(jìn)入主存后確定。
5、可執(zhí)行程序的調(diào)試
只要在操作系統(tǒng)下輸入文件名即可:
LI6-1
操作系統(tǒng)裝在該文件進(jìn)入主存,開始運(yùn)行,是用DEBUG調(diào)試時:
DEBUG LI6-1.EXE
其中,BX.CX反映程序的大小,CS:IP指向程序開始執(zhí)行的第一條指令,SS:SP指向堆棧段,DS和ES并不指向程序數(shù)據(jù)段,而是指向程序前100H處(這部分是該程序的短前綴PSP);所以,DS和ES應(yīng)該在程序當(dāng)中進(jìn)行設(shè)置,正如該程序.STARTUP偽指令所完成的。采用簡化段定義格式的程序,在主存中從低到高依次安排代碼段、數(shù)據(jù)段和堆棧段。
找的好辛苦呀
大哥看的好的話就加給小弟呀
呵呵
祝你成功呀
主要分為以下幾類:
第一類,是最常規(guī)的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版本,暫時沒有提供,可能被取消了。
擴(kuò)展資料:
Kali Linux常見命令:
ls:查看當(dāng)前目錄。
ls-l:查看目錄下文件的權(quán)限。
clear:清除本頁。
ls-lh:以k、M輸出文件大小。
ls-a:輸出隱藏屬性。
cd、cd..與windows相同 。
pwb:查看當(dāng)前工作目錄。
cat:查看文本類型文件內(nèi)容。
more:百分比查看文本內(nèi)容。
less:與more相比沒有百分比數(shù),其余相同。
tail -n:查看最后n行內(nèi)容。watch -n x tail -n :每隔x秒查看一次最后n行的內(nèi)容。
rm aa.txt:刪除文件。cp 相反。
top:監(jiān)視系統(tǒng)的性能參數(shù)。
ps-ef:顯示進(jìn)程的詳細(xì)信息。
grep:篩選顯示內(nèi)容。加-v不顯示。
ifconfig:查看網(wǎng)絡(luò)配置信息。
ifconfig eth0 down/up:將網(wǎng)卡當(dāng)?shù)?回復(fù)。
netstat -pantu:查看計算機(jī)與那些計算機(jī)進(jìn)行了網(wǎng)絡(luò)交互。