2樓說得太玄乎了。
其實很好解決,每次文件被更新後,文件的時間戳也會更新,根據文件的時間戳即可確定該文件是否被更新過。
如果你使用的是redhat,它將cp命令進行過alias,導致cp
-f命令無法去掉提示,因此執行時需要直接調用/bin/cp執行即可,腳本如下:
#!/bin/bash
/bin/cp
-auf
/A/*
/B
❷ linux 文件備份命令
2樓說得太玄乎了。
其實很好解決,每次文件被更新後,文件的時間戳也會更新,根據文件的時間戳即可確定該文件是否被更新過。
如果你使用的是redhat,它將cp命令進行過alias,導致cp
-f命令無法去掉提示,因此執行時需要直接調用/bin/cp執行即可,腳本如下:
#!/bin/bash
/bin/cp
-auf
/a/*
/b
❸ linux系統下mySQL資料庫 備份方法和腳本
資料庫備份
1.創建個備份存儲目錄
mkdir
/root/backup/
2.以下內容寫到dbbackup.sh
#!/bin/bash
cd
/root/backup/
mysqlmp
-uroot
-pmima123
datatest
>/root/backup/datatest`date
+%Y-%m-%d`.sql
mysqlmp
-uroot
-pmima123
datatest1
>/root/backup/datatest1`date
+%Y-%m-%d`.sql
chmod
+x
dbbackup.sh
❹ linux執行定時備份數據腳本
對tomcat目錄,每隔4個小時進行一次備份,以當前時間進行命名
1.創建備份目錄:
mkdir:創建目錄
rmdir:刪除目錄
5.重啟crontab:
service crond restart
!!!!(*^__^*) 嘻嘻……!!!!到這里就完了!
❺ linux文件備份shell腳本
每次備份滿25個後再刪除:你每次備份是不同的文件名嗎?
如果計算個數:
num=${ls 文件名 |wc -l } //就可以計算
if [$num -gt 25] //加條件
then
find $back -name *_$date_before -exec rm -rf {} \;
eles
...
fi
❻ 請教linux定時執行資料庫備份腳本的問題
把以前寫的一個發你看看
腳本要求:
編寫shell腳本,每天凌晨1點備份td_oa庫,到mysql-back目錄,並將備份文件壓縮,壓縮名稱為備份的日期,只保留連續七天的備份文件
#!/bin/bash
/usr/local/mysql/bin/mysqlmp
-uroot
-p123456
td_oa
>
td_oa.sql
&>/dev/null
a=`/bin/date
+%Y-%m-%d`
#在這里加上時間,壓縮的時候加上時間,會失敗。
echo
$a
cd
/gxl
/bin/tar
-czf
$a.tar
/fjp/td_oa.sql
b="$a.tar"
cp
-p
$b
/root/fjp
for
c
in
`find
/root/fjp
-ctime
+7`
do
/bin/rm
-rf
$c
done
自己根據自己的要求修改!
❼ 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可以使得企業實現安全而高效的備份。
❽ linux環境下,如何實現異地備份mysql,腳本怎麼寫,已經實現本地自動備份
只要在這個備份腳本下增加一個異地傳輸功能即可。假定異地伺服器建立一個Ftp伺服器。
則在本地Mysql備份腳本中將現有的文件打包,或者放置一個獨立目錄,然後上傳到Ftp伺服器即可。其他部分補齊即可。
ftp-n<<!
open$Dest_Server
user$FtpUserName$FtpPassword
binary
promptoff
cd/backpath
lcd/tmp
put"*.tar.gz"
bye
!
❾ linux 每日自動備份文件的腳本
1、比如每天產生一個/data/access.log這樣的文件,我們每天備份到backup目錄的access_2011-01-12.log.gz這樣的文件。
2、增加計劃任務
export
EDITOR=vi
crontab
-e
0
0
*
*
*
/data/bak.sh;
3、bak.sh文件內容如下:
cat
/data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date
+%Y%m%d`.log
#
tar
everyday
#echo
"begining
of
tar"
tar
zcf
$bak_dir/$bak_file.gz
$logs_dir/access.log
#
clear
bak_file
#echo
"clearing
file.log"
find
$bak_dir
-mtime
+7
-exec
rm
-rf
{}
\;
#end
求採納為滿意回答。
❿ linux下備份文件
其實不管是linux系統還是windows系統,重要文件都是需要進行備份的,備份也分兩種手動或者自動,那麼在linux下如何自動備份文件呢?下面來跟大家分享一下。
1、首先新建一個腳本文件,輸入touch /home/backup.sh,點擊回車鍵。
2、打開剛剛創建的腳本文件,輸入vi /home/backup.sh,點擊回車鍵。
3、輸入:
#!/bin/bash
date_time=`date +"%Y%m%d%H%M"`
backup_dir=/www/backup
backup_log=/data/backup/svn_backup_logs/backup.log
err_log=/data/backup/svn_backup_logs/err.log
echo -e "\033[33m--------------------------------------\033[0m" >> ${backup_log}
echo -e `date +"%Y-%m-%d %H:%M"` >> ${backup_log}
echo -e "Starts backing up openvpn...." >> ${backup_log}
cd /opt
zip -r ${backup_dir}/vpn_${date_time}.zip svn 1>/dev/null 2>>${err_log}
if [ "$?" -ne 0 ];then
echo -e "\033[31svn backup failed!\033[0m" >> ${backup_log}
echo -e "\033[33m--------------------------------------\033[0m" >> ${backup_log}
echo -e "\n" >> ${backup_log}
echo -e "at ${date_time} packaged svn file error" >> ${err_log}
echo -e "\n" >> ${err_log}
其中date_time:備份時間;backup_dir:備份到那個目錄;backup_log:備份成功的log文件;err_log:備份失敗的log文件;這些根據需要進行修改。
4、保存後運行該腳本,首先cd到腳本所在的文件夾,輸入cd /home,點擊回車鍵。
5、輸入./backup.sh,點擊回車鍵即可運行腳本。
6、在linux下這種備份方法還是挺簡單的,那如果換成windows操作系統,如果我們想定時備份文件該如何操作呢,有的運營會選擇使用windows server backup,但是由於這個功能創建備份計劃時只能夠創建一個,小編所在的公司是放棄的,直接使用了備份軟體來操作,下面就以大勢至server文件備份軟體來設置下備份供大家參考下。
7、網路下載該系統,解壓後進行安裝,安裝完成後返回桌面找到快捷方式,雙擊打開,根據提示輸入帳號admin和密碼123,點擊確定。
8、在主界面中部找到並點擊新增計劃,在彈出的窗口中找到源備份路徑,點擊其後的瀏覽,選中需要備份的文件或者文件夾,點擊確定。
9、在後方備份目標路徑中輸入備份保存的路徑,這里可以是本地路徑也可以是遠程伺服器路徑,如果是遠程伺服器路徑則在點擊添加後需要輸入遠程伺服器帳號和密碼,點擊確定。
10、在左側菜單中點擊備份開始時間,在右側設置備份開始的日期和時間。
11、在左側菜單中點擊全量備份頻率,在右側勾選全量備份啟用,然後設置備份頻率。
12、在左側菜單中點擊增量備份頻率,在右側勾選增量備份啟用,最後設置增量備份的備份頻率。
13、在左側菜單中點擊備份數據清理,在右側設置清理的周期,最後點擊保存,計劃創建完成,如果需要創建多個備份計劃,通過相同的設置方法繼續設置即可。