導航:首頁 > IDC知識 > 伺服器備份腳本

伺服器備份腳本

發布時間:2021-02-27 01:56:30

1、linux伺服器自動備份mysql資料庫的腳本!

你運氣好,我這個也剛做好,發你一份把 。自動運行在window下的任務計劃中添加,如需要Linux下的請H! 我··
@echo off
set sqlserver="aboa" \*aboa 為你 要備份的資料庫名字
set dn=7 7天以前的,可自己設置
echo.
echo 在D盤自動建立文件夾 back
echo.
if exist D:\back (
echo "已經存在文件夾"
) else (
md D:\back 創建文件夾back
)
cd/d "D:\back"
echo Wscript.echo dateadd^("d",-%dn%,date^)>rd.vbs
for /f "tokens=1-3 delims=-" %%a in ('cscript//nologo rd.vbs')do (
set yy=%%a&set mm=00%%b&set "dd=00%%c")
set ymd=%yy%-%mm:~-2%-%dd:~-2%&del rd.vbs
set n=0
for /f "delims=" %%i in ('dir/b/a-d *.sql')do (
if "%%~ti" lss "%ymd%9" (
cls&echo/&echo 正在刪除 %%i
set/a n+=1
del "%%i"))
cls&echo/&echo/&echo 檢查刪除7天以前的備份文件完畢,共刪除 %n% 個文件.
echo _______________________________
echo.
echo 今天是 %date%
echo 時間是 %time%
echo _______________________________
echo.
echo MySQL 資料庫備份
echo 正在進行數據備份中,請耐心等待.....
echo.
echo _______________________________

mysqlmp --port 3306 -h localhost -u root -proot --default-character-set=utf8 -R %sqlserver% > d:\back\%date:~0,4%-%date:~5,2%-%date:~8,2%.sql 備份的資料庫文件名為當天的日期

echo.
pause

2、求一個linux伺服器備份的.sh腳本,備份文件*.gz復制到本地windows xp的移動硬碟上,終端工具是SecureCRT

又問復了一遍?
windows上裝一個FTP伺服器制,比如Serv_U之類的,創建用戶,將其home設為 I:\備份\wenjian\192。然後Linux上傳過去
參考腳本:

#!/bin/bash
cd /opt/profiles
tar zcvf 192.gz wenjian

/usr/bin ftp -n <<!
open 192.168.1.3 #Windows IP or hostname
user Username Password
binary
put 192.gz
close
bye
!

3、linux 自動備份和恢復的腳本

#!/bin/sh
#BAKDIR可以換一個自己喜歡的
BAK_DIR=/backup
#*為未知,自己查一下怎麼取星期啦, 要0-6那個
DATE=$(date +%*)
#自己查一下怎麼周數啦
WEEK=$(date +%*)
#備份文件名
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2
#其實沒什麼不同的,只是要改文件名而已
if [ $DATE -eq 0]; then
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$FULL_BAK
else
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$INCRE_BAK
fi
exit $?
# 把任務加到crontab里就行了,每天執行一次
================
#!/bin/sh
BAK_DIR=/backup
#還原目錄
RECOVER_DIR=/
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2
echo -n "recover from week: 「
read WEEK

if [ -e $BAKDIR/$FULL_BAK ];
then
tar xjf $BAK_DIR/$FULL_BAK -C
$RECOVER_DIR
for N in $(seq 6); do
if [ -e $BAK_DIR/$INCRE_BAK ]; then
tar xjf $BAK_DIR/$INCRE_BAK -C $RECOVER_DIR
fi
done
else
echo "Backup file not exist!! exit now~~"
fi
exit $?
# 這個是手動執行的,要自己輸入想還原到的周數年
補充:
可能要自己調試一下

4、如何利用shell腳本備份網站數據到遠程linux主機

第一步: 設置免密碼登錄 請參考 如何ssh免密碼登錄linux伺服器
第二步:輸入以下代碼後(注意最後一行的199.101.117.xx改成你自己的那個伺服器地址) 保存退出
[root@niko ~]# vi backup.sh
#!/bin/bash backdir=/backup month=`date +%m` day=`date +%d` year=`date +%Y` dirname=$year-$month-$day mkdir -p $backdir/$dirname mkdir -p $backdir/$dirname/conf mkdir -p $backdir/$dirname/web mkdir -p $backdir/$dirname/db gzupload=upload.tgz cp /etc/httpd/conf/httpd.conf $backdir/$dirname/conf/httpd.conf cd /var/www/html/ tar -zcvf $backdir/$dirname/web/$gzupload ./ scp -r /backup/$dirname [email protected]:/backup
第三步 crontab -e 設置每日定時
[root@niko ~]# crontab -e
第四步 設置每日的10:28分運行backup.sh腳本,注意腳本名最好寫絕對路徑
28 10 * * * /root/backup.sh
第五步 設置腳本運行許可權
[root@niko ~]#chmod +x /root/backup.sh
第六步 在另一台也就是要存放備份的伺服器上新建backup這個文件夾
[root@testvpn backup]#mkdir /backup

5、SQL Server遠程定時備份資料庫腳本分享

經常會有定時備份SQL
Server資料庫的需要。定時備份到本機的話,還是挺容易的,計劃任務就可以完成,但如果是整機掛了,那備份到本機是沒意義的,那麼就需要來考慮備份到區域網中,其它電腦里。
下面就分享一份在網上找了之後,自己再簡單整理過的代碼,配合
SQL
Server
代理中的作業功能,已經穩定運行一個星期了,每小時就備份一次。
復制代碼
代碼如下:
--
創建網路映射(Y是盤符;IP地址後面要帶共享文件夾的名稱;password是密碼,雙引號引起;account是遠程電腦的登錄名)
exec
master..xp_cmdshell
'net
use
Y:
\\192.168.0.69\sqlbackup
"password"
/user:192.168.0.69\account'
--
按日期時間做文件名(注意路徑中的文件夾,需要先建立好)
declare
@filename
varchar(200)
select
@filename
=
'Y:\DB\'
+
replace(replace(replace(CONVERT(varchar,
getdate(),
120
),'-',''),'
','-'),':','')
+
'.bak'
--
執行備份(DB是要備份的資料庫名稱)
backup
database
[DB]
to
disk
=
@filename
--
刪除網路映射(Y是盤符,同上)
exec
master..xp_cmdshell
'net
use
Y:
/delete'

6、linux伺服器下自動備份資料庫腳本備份出來的數據大小為0

把兩個文件名的路徑都寫全呢?
我覺得應該是沒找到shuju文件或者沒有讀取許可權的問題,然後生成的shuju.sql就是空文件

7、如何每天把linux伺服器上的目錄定時備份到另一台Linux伺服器上。(想要腳本)

兩台搞下免密碼登陸;

計劃任務那邊寫條命令每天定時運行

scp -P -r 遠程埠 /root/test/[email protected]:/root/test

8、windos伺服器怎麼寫壓縮備份的腳本啊?

集成命令列表1功能:自動備份資料庫並按日期創建備份文件夾。代碼如下:@echooffecho執行備份任務echo正在停止資料庫…echo正在停止網站資料庫…netstopMySQLecho執行備份資料庫xcopy"D:MySQLdata*.*"D:mysqlbakwebbak%date:~0,10%/e/y/cnetstartMySQLecho正在啟動網站資料庫…echo退出備份任務echo.exit拆解:停止資料庫命令代碼如下:netstopMySQL拷貝資料庫文件D:MySQLdata為資料庫存放目錄D:mysqlbakwebbak為資料庫備份目錄%date:~0,10%為當前備份日期創建目錄代碼如下:xcopy"D:MySQLdata*.*"D:mysqlbakwebbak%date:~0,10%/e/y/c啟動資料庫代碼如下:netstartMySQL集成命令列表2功能:自動備份資料庫並日期rar加密打包(密碼為123456)。代碼如下:@echooffecho執行備份任務echo正在停止資料庫…echo正在停止網站資料庫…netstopMySQLecho執行備份資料庫xcopy"D:hostmysqldata*.*"E:wwwrootDefaultwebmysql/e/y/cnetstartMySQLecho正在啟動網站資料庫…echo正在打包網站資料庫…"C:ProgramFilesWinRARWinRAR.exe"a-r-ibck-p123456-yE:wwwrootDefault\%date:~0,10%-WEBDATA.rarE:wwwrootDefaultwebmysql*.*echo退出RAR打包echo刪除復制資料庫del/s/qE:wwwrootDefaultwebmysql*echo退出備份任務echo.exit拆解:以上重復命令不重復說明了打包並加密C:ProgramFilesWinRARWinRAR.exe為winrar壓縮程序安裝目錄123456為壓縮包加密密碼E:wwwrootDefault為打包到的目錄%date:~0,10%-WEBDATA.rar為壓縮文件名,例如今天是2012-12-27名字就是2012-12-27-WEBDATA.rar代碼如下:"C:ProgramFilesWinRARWinRAR.exe"a-r-ibck-p123456-yE:wwwrootDefault\%date:~0,10%-WEBDATA.rarE:wwwrootDefaultwebmysql*.*刪除拷貝數據E:wwwrootDefaultwebmysql*為備份目錄,為方便下次備份一定要刪除。不然容易重復。代碼如下:del/s/qE:wwwrootDefaultwebmysql*備份任務下載說明:從網站進行命令下載到指定的目錄代碼如下:wgethttp://備份文件的WEB地址/MySQLDATA-%date:~0,10%.rar-PE:數據備份\%date:~0,10%wget下載地址:放在C:WindowsSystem32注意:也可以用其它工具進行下載,如果大文件的話不建議用這種方法。對於小文件倒還好。添加自動任務打開任務面板->任務計劃雙擊「添加任務計劃」下一步瀏覽到你創建的CMD。自定義任務的名稱,如果是資料庫的話建議一天備份一次。如果網站文件的話可以設置一周。下一步設置時間,建議設置2-3點左右。下一步輸入管理的帳號和密碼來完成任務創建。

9、如何寫一個bat將A伺服器的文件夾定時備份到另一台伺服器中?

B伺服器需要開啟共享
xcopy "E:\文件夾" "\\B伺服器IP\文件夾\" /e /h /q /y

10、異機文件備份的bat腳本怎麼製作?

NET USE \\備份機器名 "密碼" /user:"用戶專名"
NET USE Z: \\備份機屬器名\SharedDocs
xcopy D:\用友備份 z:\ /D /E /Y /H /K
net use \\備份機器名 /delete

與伺服器備份腳本相關的知識