當前位置:首頁 » 編程軟體 » linux安全腳本

linux安全腳本

發布時間: 2023-03-17 15:46:37

① 如何快速學習linux操作系統 linux的編程 linux的安全 shell腳本

先自己裝個系統吧建議ubuntu10.04
然後看書 動手 問問題

② linux 腳本 這句話是什麼意思

腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。
腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。
腳本通常可以由應用程序臨時調用並執行。各類腳本被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當點擊網頁上的Email地址時能自動調用Outlook Express或Foxmail這類郵箱軟體,就是通過腳本功能來實現的。也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。
linux的應用
#! /bin/bash 這里指:該腳本是由的bash shell來解釋的。

③ linux問題:寫出執行shell腳本的三種方式,寫出samba伺服器的四種安全級別,並寫出他們的

保持樂觀的心態,擁有容忍的態度,該賺錢就賺錢,該玩就玩,該學習就學習,該低調就低調,多鍛煉鍛煉,慢慢會好的。保持樂觀的心態,擁有容忍的態度,該賺錢就賺錢,該玩就玩,該學習就學習,該低調就低調,多鍛煉鍛煉,慢慢會好的。保持樂觀的心態,擁有容忍的態度,該賺錢就賺錢,該玩就玩,該學習就學習,該低調就低調,多鍛煉鍛煉,慢慢會變的更優秀。

④ 如何編寫自己的Linux安全檢查腳本

腳本大致內容: 基本信息統計(IP地址、MAC地址、埠信息、服務信息等)、主機安全檢查(包括等保三級要求主機相關的檢查點)、系統性能統計(暫時未加入分析)、惡意代碼、程序檢查等檢查點。

腳本內容涉及到:

1、查看系統密碼文件修改時間

2、查看是否開啟了ssh服務

3、查看系統SSH遠程訪問設置策略(host.deny拒絕列表)

4、查看shell是否設置超時鎖定策略

5、查看syslog日誌審計服務是否開啟

6、查看syslog日誌是否開啟外發

7、查看passwd文件中有哪些特權用戶

8、查看系統中是否存在空口令賬戶

9、PHP、JSP、perl、Python、HTML、以及linux下可執行文件內容的檢查

裡面列舉了一些常見webshell、提權EXP、以及Python掃描工具、嗅探工具的特徵,如果發現此類相關的文件,則會顯示出來,或者拷貝一份到/tmp/目錄下

例如:能掃描到的linux下提權工具:

一共是172個文件。都可以掃描的到。。。。

其實整個腳本相對起來比較簡單,主要用到的命令為

find / -type

if語句

awk命令

more

egrep

等命令組成。

比如說awk命令,我們用more或cat命令,讀取某個文件內容,然後通過awk進行篩選和輸出,來顯示我們想要看的東西

例如:
more /etc/login.defs | grep -E "PASS_MAX_DAYS" | grep -v "#" |awk -F' ' '{if($2!=90){print "/etc/login.defs裡面的"$1 "設置的是"$2"天,請管理員改成90天。"}}'

從這里我們可以看到,通過more來打開/etc/login.defs文件,並查找關鍵字 「PASS_MAX_DAYS」, 用awk命令,篩選以」為分隔符的內容,用作判斷,如果$2第二個分隔符位置的內容不等於90,則輸出該內容。

同理,任意針對文件內容做篩選的結果,都可以通過這樣的方式去顯示我們想要顯示的內容。

又例如:
echo "查看系統中存在哪些非系統默認用戶"
echo "root:x:「該值大於500為新創建用戶,小於或等於500為系統初始用戶」"
more /etc/passwd |awk -F ":" '{if($3>500){print "/etc/passwd裡面的"$1 "的值為"$3",請管理員確認該賬戶是否正常。"}}'
echo ------------------------------------------------------------------------

if語句相關:
echo --------------------------------------------------------------------------
echo "檢查系統文件完整性2(MD5檢查)"
echo "該項會獲取部分關鍵文件的MD5值並入庫,默認保存在/etc/md5db中"
echo "如果第一次執行,則會提示md5sum: /sbin/portmap: 沒有那個文件或目錄"
echo "第二次重復檢查時,則會對MD5DB中的MD5值進行匹配,來判斷文件是否被更改過"
file="/etc/md5db"
if [ -e "$file" ]; then md5sum -c /etc/md5db 2>&1;
else
md5sum /etc/passwd >>/etc/md5db
md5sum /etc/shadow >>/etc/md5db
md5sum /etc/group >>/etc/md5db
md5sum /usr/bin/passwd >>/etc/md5db
md5sum /sbin/portmap>>/etc/md5db
md5sum /bin/login >>/etc/md5db
md5sum /bin/ls >>/etc/md5db
md5sum /bin/ps >>/etc/md5db
md5sum /usr/bin/top >>/etc/md5db;
fi
echo ----------------------------------------------------------------------

這里呢,對部分敏感文件的MD5值做了下驗證,大致思路是,先檢查 /etc/md5db 是否存在,如果不存在的話,則將所涉及文件的MD5值入庫,並保存到 /etc/md5db文件中,當我們第二次對伺服器進行檢查時,則會對比兩次的MD5值,如果MD5值發生變化,則會進行提醒。

腳本本身沒什麼復雜的東西,我先貼出部分內容,供大家參考下。
#!/bin/bash
echo " (__)"
echo " (oo)"
echo " /------\/ "
echo " / | || "
echo " * /\---/\ "
echo " ~~ ~~ "
echo "...."Are You Ready?"..."
read key
echo "警告:本腳本只是一個檢查的操作,未對伺服器做任何修改,管理員可以根據此報告進行相應的設置。"
echo ---------------------------------------主機安全檢查-----------------------
echo "系統版本"
uname -a
echo --------------------------------------------------------------------------
echo "本機的ip地址是:"
ifconfig | grep --color "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}"
echo --------------------------------------------------------------------------
awk -F":" '{if($2!~/^!|^*/){print "("$1")" " 是一個未被鎖定的賬戶,請管理員檢查是否需要鎖定它或者刪除它。"}}' /etc/shadow
echo --------------------------------------------------------------------------
more /etc/login.defs | grep -E "PASS_MAX_DAYS" | grep -v "#" |awk -F' ' '{if($2!=90){print "/etc/login.defs裡面的"$1 "設置的是"$2"天,請管理員改成90天。"}}'
echo --------------------------------------------------------------------------
more /etc/login.defs | grep -E "PASS_MIN_LEN" | grep -v "#" |awk -F' ' '{if($2!=6){print "/etc/login.defs裡面的"$1 "設置的是"$2"個字元,請管理員改成6個字元。"}}'
echo --------------------------------------------------------------------------
more /etc/login.defs | grep -E "PASS_WARN_AGE" | grep -v "#" |awk -F' ' '{if($2!=10){print "/etc/login.defs裡面的"$1 "設置的是"$2"天,請管理員將口令到期警告天數改成10天。"}}'
echo --------------------------------------------------------------------------
grep TMOUT /etc/profile /etc/bashrc > /dev/null|| echo "未設置登錄超時限制,請設置之,設置方法:在/etc/profile或者/etc/bashrc裡面添加TMOUT=600參數"
echo --------------------------------------------------------------------------
if ps -elf |grep xinet |grep -v "grep xinet";then
echo "xinetd 服務正在運行,請檢查是否可以把xinnetd服務關閉"
else
echo "xinetd 服務未開啟"
fi
echo --------------------------------------------------------------------------
echo "查看系統密碼文件修改時間"
ls -ltr /etc/passwd
echo --------------------------------------------------------------------------
echo "查看是否開啟了ssh服務"
if service sshd status | grep -E "listening on|active \(running\)"; then
echo "SSH服務已開啟"
else
echo "SSH服務未開啟"
fi
echo --------------------------------------------------------------------------
echo "查看是否開啟了TELNET服務"
if more /etc/xinetd.d/telnetd 2>&1|grep -E "disable=no"; then
echo "TELNET服務已開啟 "
else
echo "TELNET服務未開啟 "
fi
echo --------------------------------------------------------------------------
echo "查看系統SSH遠程訪問設置策略(host.deny拒絕列表)"
if more /etc/hosts.deny | grep -E "sshd: ";more /etc/hosts.deny | grep -E "sshd"; then
echo "遠程訪問策略已設置 "
else
echo "遠程訪問策略未設置 "
fi
echo --------------------------------------------------------------------------

⑤ Linux Shell 腳本編程最佳實踐

IT路邊社

前言

與其它的編碼規范一樣,這里所討論的不僅僅是編碼格式美不美觀的問題, 同時也討論一些約定及編碼標准。這份文檔主要側重於我們所普遍遵循的規則,對於那些不是明確強制要求的,我們盡量避免提供意見。

編碼規范對於程序員而言尤為重要,有以下幾個原因:

本文檔中的准則致力於最大限度達到以下原則:

盡管本文檔涵蓋了許多基礎知識,但應注意的是,沒有編碼規范可以為我們回答所有問題,開發人員始終需要再編寫完代碼後,對上述原則做出正確的判斷。

:未明確指明的則默認為必須(Mandatory)

主要參考如下文檔:

僅建議Shell用作相對簡單的實用工具或者包裝腳本。因此單個shell腳本內容不宜太過復雜。

在選擇何時使用shell腳本時時應遵循以下原則:

可執行文件不建議有擴展名,庫文件必須使用 .sh 作為擴展名,且應是不可執行的。

執行一個程序時,無需知道其編寫語言,且shell腳本並不要求具有擴展名,所以更傾向可執行文件沒有擴展名。

而庫文件知道其編寫語言十分重要,使用 .sh 作為特定語言後綴的擴展名,可以和其他語言編寫的庫文件加以區分。

文件名要求全部小寫, 可以包含下劃線 _ 或連字元 - , 建議可執行文件使用連字元,庫文件使用下劃線。

正例:

反例:

源文件編碼格式為UTF-8。避免不同操作系統對文件換行處理的方式不同,一律使用 LF 。

每行最多不超過120個字元。每行代碼最大長度限制的根本原因是過長的行會導致閱讀障礙,使得縮進失效。

除了以下兩種情況例外:

如出現長度必須超過120個字元的字元串,應盡量使用here document或者嵌入的換行符等合適的方法使其變短。

示例:

除了在行結束使用換行符,空格是源文件中唯一允許出現的空白字元。

對從來沒有用到的或者被注釋的方法、變數等要堅決從代碼中清理出去,避免過多垃圾造成干擾。

Bash 是唯一被允許使用的可執行腳本shell。

可執行文件必須以 #!/bin/bash 開始。請使用 set 來設置shell的選項,使得用 bash echo "Process $: Done making $$$."
# 示例7:命令參數及路徑不需要引號 grep -li Hugo /dev/ "$1"
# 示例8:常規變數用雙引號,ccs可能為空的特殊情況可不用引號 git send-email --to "${reviewers}" ${ccs:+"--cc" "${ccs}"}
# 示例9:正則用單引號,$1可能為空的特殊情況可不用引號 grep -cP '([Ss]pecial||?characters*) ${1:+"$1"}
# 示例10:位置參數傳遞推薦帶引號的"$@",所有參數作為單字元串傳遞用帶引號的"$*" # content of t.sh func_t { echo num: $# echo args: 1:$1 2:$2 3:$3 }
func_t "$@" func_t "$*" # 當執行 ./t.sh a b c 時輸出如下: num: 3 args: 1:a 2:b 3:c num: 1 args: 1:a b c 2: 3:

使用 $(command) 而不是反引號。

因反引號如果要嵌套則要求用反斜杠轉義內部的反引號。而 $(command) 形式的嵌套無需轉義,且可讀性更高。

正例:

反例:

條件測試

使用 [[ ... ]] ,而不是 [ , test , 和 /usr/bin/[ 。

因為在 [[ 和 ]] 之間不會出現路徑擴展或單詞切分,所以使用 [[ ... ]] 能夠減少犯錯。且 [[ ... ]] 支持正則表達式匹配,而 [ ... ] 不支持。參考以下示例:

盡可能使用變數引用,而非字元串過濾。

Bash可以很好的處理空字元串測試,請使用空/非空字元串測試方法,而不是過濾字元,讓代碼具有更高的可讀性。正例:

反例:

正例:

反例:

正例:

反例:

文件名擴展

當進行文件名的通配符擴展時,請指定明確的路徑。

當目錄中有特殊文件名如以 - 開頭的文件時,使用帶路徑的擴展通配符 ./* 比不帶路徑的 * 要安全很多。

應該避免使用eval。

Eval在用於分配變數時會修改輸入內容,但設置變數的同時並不能檢查這些變數是什麼。反例:

請使用進程替換或者for循環,而不是通過管道連接while循環。

這是因為在管道之後的while循環中,命令是在一個子shell中運行的,因此對變數的修改是不能傳遞給父shell的。

這種管道連接while循環中的隱式子shell使得bug定位非常困難。反例:

如果你確定輸入中不包含空格或者其他特殊符號(通常不是來自用戶輸入),則可以用for循環代替。例如:

使用進程替換可實現重定向輸出,但是請將命令放入顯式子 shell,而非 while 循環創建的隱式子 shell。例如:

總是檢查返回值,且提供有用的返回值。

對於非管道命令,使用 $? 或直接通過 if 語句來檢查以保持其簡潔。

例如:

當內建命令可以完成相同的任務時,在shell內建命令和調用外部命令之間,應盡量選擇內建命令。

因內建命令相比外部命令而言會產生更少的依賴,且多數情況調用內建命令比調用外部命令可以獲得更好的性能(通常外部命令會產生額外的進程開銷)。

正例:

反例:

載入外部庫文件不建議用使用.,建議使用source,已提升可閱讀性。正例:

反例:

除非必要情況,盡量使用單個命令及其參數組合來完成一項任務,而非多個命令加上管道的不必要組合。常見的不建議的用法例如:cat和grep連用過濾字元串; cat和wc連用統計行數; grep和wc連用統計行數等。

正例:

除特殊情況外,幾乎所有函數都不應該使用exit直接退出腳本,而應該使用return進行返回,以便後續邏輯中可以對錯誤進行處理。正例:

反例:

推薦以下工具幫助我們進行代碼的規范:

原文鏈接:http://itxx00.github.io/blog/2020/01/03/shell-standards/

獲取更多的面試題、腳本等運維資料點擊: 運維知識社區 獲取

腳本之---簡訊轟炸機

腳本之---QQ微信轟炸機

ansible---一鍵搭建redis5.0.5集群

elk7.9真集群docker部署文檔

全球最全loki部署及配置文檔

最強安全加固腳本2.0

一鍵設置iptbales腳本

⑥ Linux篇:從rm -rf 引發的腳本安全閑聊(set 命令)

上周剛經歷了一個「刪庫跑路」的慘重事件,不知哪位無邪的童鞋把Confluence 的數據存儲目錄 /var 清空了,結果群眾的怒火燃燒上了天空

這次結合自己的一些思考來記錄一些有關腳本安全的點

先來看一個簡單的案例

在用戶主目錄下創建safe目錄及相關文件用於測試演示

假如寫一段腳本刪除safe目錄下所有文件:

這段是不是看起來沒有問題,但如果由於有些大心臟的同學粗心,寫成下面這樣

最終,腳本都變成了rm   -rf    *   ,可怕至極

其實在shell腳本當中,為了防止這種現象,我們可以藉助set 命令來實現相關控制

關於set 命令有較多參數,這里介紹最常用的幾個

我們以剛才圖4那段有問題的腳本說事

為保證不錯刪東西 ,我們加一個set -u 選項 ,判斷變數是否存在

我們執行一下,看看效果

看,報錯啦,dir這個變數沒有聲明,ls 查看一下文件,發現都還存在

set -e  與set -u 通常搭配在一起使用

一個是遇到錯誤退出,一個是發現空變數報錯

這兩個搭配在一起放在腳本里可以防止一些變數為空導致文件全被清空的問題

拓展一下:

如果只想應用在腳本的某一段中,那麼

開始段落前加set -e 表示範圍開始

結束段落後加 set +e 表示範圍結束

set -x 與set + x同理。

1、刪文件其實不用rm -rf ,不是受迫性需要,不要使用rm -rf 

2、修改、刪除系統文件或其他重要的東西,先備份一份

3、非特殊需要,不建議在root下操作,普通用戶即可

4、腳本加上set -e 與set -u保證安全

⑦ 使用 Linux 安全工具進行滲透測試

眾多被廣泛報道的大型消費企業入侵事件凸顯了系統安全管理的重要性。幸運的是,有許多不同的應用程序可以幫助保護計算機系統。其中一個是 Kali,一個為安全和滲透測試而開發的 Linux 發行版。本文演示了如何使用 Kali Linux 來審視你的系統以發現弱點。

Kali 安裝了很多工具,它們都是開源的,默認情況下安裝了它們會讓事情變得更容易。

(LCTT 譯註:Kali 及其攜帶工具只應該用於對自己擁有合法審查權利的系統和設備,任何未經授權的掃描、滲透和攻擊均是違法的。本文作者、譯者均不承擔任何非授權使用的結果。)

本文使用的系統是:

我在上面列出了硬體規格,因為一些任務要求很高,尤其是在運行 WordPress 安全掃描程序(WPScan)時對目標系統 CPU 的要求。

首先,我會在目標系統上進行基本的 Nmap 掃描(你可以閱讀 使用 Nmap 結果幫助加固 Linux 系統一文來更深入地了解 Nmap)。Nmap 掃描是一種快速的方法,可以大致了解被測系統中哪些埠和服務是暴露的。

默認掃描顯示有幾個你可能感興趣的開放埠。實際上,任何開放埠都可能成為攻擊者破壞你網路的一種方式。在本例中,埠 21、22、80 和 443 是不錯的掃描對象,因為它們是常用服務的埠。在這個早期階段,我只是在做偵察工作,盡可能多地獲取有關目標系統的信息。

我想用 Nmap 偵察 80 埠,所以我使用 -p 80 參數來查看埠 80, -A 參數來獲取操作系統和應用程序版本等信息。

關鍵信息有:

現在我知道了這是一個 WordPress 伺服器,我可以使用 WPScan 來獲取有關潛在威脅的信息。一個很好的偵察方法是嘗試找到一些用戶名,使用 --enumerate u 告訴 WPScan 在 WordPress 實例中查找用戶名。例如:

這顯示有兩個用戶: admin 和 pgervase 。我將嘗試使用密碼字典來猜測 admin 的密碼。密碼字典是一個包含很多密碼的文本文件。我使用的字典大小有 37G,有 3,543,076,137 行。

就像你可以選擇不同的文本編輯器、Web 瀏覽器和其他應用程序 一樣,也有很多工具可以啟動密碼攻擊。下面是兩個使用 Nmap 和 WPScan 的示例命令:

這個 Nmap 腳本是我使用的許多腳本之一,使用 WPScan 掃描 URL 只是這個工具可以完成的許多任務之一。你可以用你喜歡的那一個。

WPScan 示例在文件末尾顯示了密碼:

在末尾的「找到有效組合」部分包含了管理員用戶名和密碼,3231 行只用了兩分鍾。

我還有另一個字典文件,其中包含 3,238,659,984 行,使用它花費的時間更長並且會留下更多的證據。

使用 Nmap 可以更快地產生結果:

然而,運行這樣的掃描可能會在目標系統上留下大量的 HTTPD 日誌消息:

為了獲得關於在最初的 Nmap 掃描中發現的 HTTPS 伺服器的信息,我使用了 sslscan 命令:

它顯示了有關啟用的 SSL 協議的信息,在最下方,是關於 Heartbleed 漏洞的信息:

有很多方法可以保護你的系統免受大量攻擊。幾個關鍵點是:

本文對安全工具及其使用方法的介紹只是冰山一角。深入了解的話,你可能需要查看以下資源:

via: https://opensource.com/article/21/5/linux-security-tools

作者:Peter Gervase選題:lujun9972譯者:MjSeven校對:wxy

⑧ linux 自動備份和恢復的腳本

Linux是公認的運行穩定、安全性較高的操作系統,但是伺服器硬體故障和各種意外因素都會導致Linux伺服器硬碟上數據丟失。特別對於運用在商業領域中的Linux伺服器,數據的安全性、完整性和災難後的數據恢復能力是每一個Linux系統管理員最為關心的問題。Linux作為新一代網路操作系統,在伺服器方面的應用越來越廣泛。作為專門的網路伺服器,一個重要功能就是對伺服器數據進行備份,以確保數據的安全。

常見的Linux數據備份方法

Linux操作系統中的數據備份工作是Linux系統管理員的重要工作和職責。傳統的Linux伺服器數據備份的方法很多,備份的手段也多種多樣。常見的Linux數據備份方式僅僅是把數據通過TAR命令壓縮拷貝到磁碟的其它區域中去。還有比較保險的做法是雙機自動備份,不把所有數據存放在一台計算機上,否則一旦這台計算機的硬碟物理性損壞,那麼一切數據將不復存在了。所以雙機備份是商業伺服器數據安全的基本要求。通常情況下使用的雙機備份是雙機定時備份文件,而不是實時的。要實現雙機備份,必須先在單機上備份所有的文件,然後再把備份文件傳輸到其它機器上。這樣可能比較麻煩,而且有不足之處。例如,這樣做對於不需要備份的文件也要在網路上傳輸,會造成帶寬的浪費。

實現備份與刻錄的整合

為了彌補Linux上常見備份方法的不足,本文將講述使用sitback軟體將Linux伺服器磁碟中的指定數據進行自動備份,並刻錄到CDR光碟的方法,以達到數據在光碟中安全存儲的目的。此方法將數據備份和光碟刻錄兩個步驟整合在一起,自動化程度和安全性較高,而且sitback還能實現Linux網路中不同計算機之間的數據備份。

sitback簡介

sitback是一款基於開源協議開發的Unix平台下的自動備份軟體。與一些 Linux開放源碼軟體不同,sitback開發者僅提供源代碼壓縮包的形式給Linux用戶下載。盡管sitback沒有提供安裝方便的RPM格式,但是sitback的安裝採用了基於GNU協議的自動安裝和配置的automake/autoconf模式,使得一般的Linux系統管理員能順利地安裝調試好sitback。

sitback的獲取和安裝

目前sitback官方網站www.mrbean.dk提供的 sitback最高版本為0.3.1。為了能最大程度地體現sitback的最佳性能,sitback的開發者建議Linux用戶不要把sitback的開發版本和Beta測試版本使用到實際的數據備份中去,以防出現意外。

安裝sitback源代碼壓縮包可以根據以下幾個簡單的步驟完成:

◆建立臨時解壓目錄 /temp;

◆把sitback壓縮包拷貝到/temp目錄,並使用「tar xvfz sitback-x.x.x.tar.gz」命令對sitback源代碼壓縮包進行解壓;

◆執行./configure;

◆執行make;

◆執行make install。

通過以上幾個步驟可以迅速地安裝好sitback。請注意使用超級用戶root身份對sitback進行安裝。

編譯完sitback源代碼壓縮包之後,接著要在用戶根目錄中的Home目錄下創建一個.sitback目錄。該目錄用來存放一些數據備份和刻錄時產生的臨時文件,以及一些腳本文件或磁碟驅動器參數文件。

同所有通過編寫腳本文件來運行的程序一樣,sitback也需要Linux用戶自行編寫備份和刻錄的腳本文件,並讓Linux系統把sitback當作一個備份進程(backup-daemon)來自動執行。使用高效安全的Webmin管理系統來自動執行sitback也很方便。總之,用最少的代碼編寫出適合Linux系統實際情況的腳本是最為安全、高效的。

將數據刻錄至光碟的條件

讓sitback自動備份指定的磁碟數據,並將備份的數據直接刻錄到光碟中去,必須考慮的條件主要有以下幾點:

◆sitback運行的時間,即備份數據時間;

◆要備份的源目錄;

◆要備份到的目的目錄;

◆選擇存儲介質,包括磁介質、光存儲介質等;

◆是否要對備份數據進行校驗比較,提高備份安全性;

◆備份模式,全備份或部分數據備份;

◆備份數據還原問題。

sitback提供了很多參數供用戶選擇,具體參數和用法可以參考sitback源代碼壓縮包里的開發文檔和詳細的使用手冊。

實例運用

實例1

假設某Linux伺服器中有以下這些目錄:

◆/usr/smbdata 包含大多數應用軟體和用戶數據文件;

◆/usr/grafik 包含有重要的圖形文件。

為了備份以上兩個目錄數據,可以編寫一個腳本文件,代碼及說明如下:

ARCHIVE=/dev/st0

#定義要備份的數據

(ARCHIVE表示要備份的磁碟驅動器、文件目錄,甚至主機,例如:

「backuphost:/dev/st0」、

「backup@backuphost:/dev/nrt0」、

[email protected]:/tmp/temp_backup.tar.gz」等)

TARGET=/usr/smbdata

#要備份的目的目錄

TARGET=/usr/grafik

#要備份的目的目錄

COMPRESSION=YES

#備份模式為對數據進行壓縮後備份

VERIFY=YES

#對備份數據進行校驗

REPORTFILE=/usr/smbdata/latest_backup.txt

#產生備份報告文件

REPORTPRINTER=//penguin4/Canon

#列印機信息

SMBUSER=computer1

#SAMBA用戶端計算機名

SMBPASSWD=123abc

#訪問密碼

VOLUMENAME=Full backup - Taastrup

TIME=1;02;00

#備份時間,每天2:00進行備份

TIME=2;02;00

TIME=3;02;00

TIME=4;02;00

TIME=5;02;00

TIME=6;02;00

以上是一個簡單的數據自動備份腳本的樣本文件。如果想使用SysV初始化,可以在/etc/rc.d/init.d/中創建一個小的腳本文件來運行 sitback。在上述腳本最後一行加入「/usr/local/bin/sitback -d data」才能使得sitback自動運行。查看每次備份的情況時,可以打開臨時文件/.sitback/sitback.log,裡面有sitback 運行的詳細記錄。

實例2

使用sitback將Linux伺服器中數據自動備份、刻錄兩個步驟進行整合。

為了達到數據備份和光碟刻錄整合的目的,需要使用以下腳本來實現。它是來自sitback官方網站的樣板腳本。

# Full backup of /home/bean, excluding Images

#對/home/bean,目錄進行全備份

# [email protected] 2002

# Write the archive to my cd-writer at 0,0,0

#將備份數據在指定時間寫入CDR刻錄機中

# (Iomega ZIPCD 650, USB), use speed=2, so that i can 刻錄機硬體參數

# do other things while the backup is cooking. Also

# use on-the-fly to avoid too much temporary data.

# (my machine has no problem supporting this)

#

ARCHIVE=0,0,0

SPEED=2

#Iomega ZIPCD 650, USB刻錄機寫入速度,

CD ON THE FLY

#寫入方式

# It is a huge advantage to have the files directory available

# on the cd, not inside an archive, when restoring my

# setup, hence the type 'CDRW'

#

TYPE=CDRW

#光碟類型,CDRW可擦寫光碟

# Targets... Exclude Images

TARGET=/home/bean

#目標文件目錄

EXCLUDE=/home/bean/Images

#目標文件目錄中不用備份的目錄(即排除備份的目錄)

# Various stuff. Compression and verification will automagically

# be turned off by sitback, but i do not want the warnings either,

# so i just turn it off from the beginning...

#

VERIFY=NO

#對備份數據進行校驗

COMPRESSION=NO

#備份數據無需壓縮

# When done, put a backup report in /home/bean/backup.log

#

REPORTFILE=/home/bean/backup.log

#產生的備份報告文件及路徑

關於sitback備份數據的恢復及SSH等安全措施,此處不予舉例說明。總的來說,sitback是一款不可多得的Linux操作系統平台中優秀的數據備份和恢復工具,使用sitback可以使得企業實現安全而高效的備份。

熱點內容
阿里雲伺服器能用vmware嗎 發布:2024-04-25 13:33:23 瀏覽:731
1616源碼 發布:2024-04-25 13:33:19 瀏覽:80
奧維地圖伺服器地址怎麼填 發布:2024-04-25 12:40:04 瀏覽:965
低配置游戲玩哪個平台 發布:2024-04-25 12:35:04 瀏覽:559
glinux下載 發布:2024-04-25 12:30:09 瀏覽:84
安卓手機可以用的谷歌叫什麼 發布:2024-04-25 12:05:57 瀏覽:943
linux改變用戶所屬組 發布:2024-04-25 11:50:33 瀏覽:469
rsa加密演算法java代碼 發布:2024-04-25 11:40:07 瀏覽:883
如何改變拉桿箱上的初始密碼 發布:2024-04-25 11:17:23 瀏覽:799
內網掛代理虛擬機如何配置網卡 發布:2024-04-25 11:15:06 瀏覽:687