MySQL經常使用備份腳本

案例 : 


mysqldump--A數據庫到B數據庫

mysqldump   -uroot    --opt pmp20 | mysql -h192.168.80.28 -uapp_db -p940430Dex -C pmp20html

mysqldump   -uroot - -h132.151.41.137 -P3306   --opt pmp20 | mysql -h132.151.41.137 -uroot -P3306 -C pmp20_back

全庫備份-A

[root@mha2 backup]#mysqldump -uroot -p123456 --default-character-set=utf8 --single-transaction --extended-insert=false --hex-blob --master-data=2 --log-error=/tmp/test.err --routines --triggers --events --quick --flush-logs --all-databases > fulldump.sqlmysql

 

從全備份中只恢復report庫


[root@mha2 backup]#  mysql -uroot -p123456 report --one-database <fulldump.sql


能夠看出這裏主要用到的參數是--one-database簡寫-o的參數,極大方便了咱們的恢復靈活性.linux

從全備份中只恢復t_order表
1)從備份查詢恢復表的表結構
[root@mha2 backup]# sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `t_order`/!d;q' fulldump.sql 


DROP TABLE IF EXISTS `t_order`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t_order` (
  `c_date` varchar(30) DEFAULT NULL,
  `order_no` varchar(40) DEFAULT NULL,
  `key_info` varchar(200) DEFAULT NULL,
  `flag` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;


2)從備份查詢出表的表數據
[root@mha2 backup]# grep 'INSERT INTO `t_order`' fulldump.sql >data.sql

總結nginx

好比恢復tb1表數據sql

sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `tb1`/!d;q' 20180723.sql > tb1.sqlshell

grep 'INSERT INTO `tb1`' 20180723.sql >> tb1.sql數據庫


或者

sed -n -e '/CREATE TABLE.*`tb1`/ ,/UNLOCK TABLES/p' 20180723.sql > tb_1.sql編程

 

可是這樣導出來的文件會有SET character_set_client因此導入時會報錯能夠忽略ubuntu

導入報錯能夠忽略vim

 


若是數據不大,也能夠將某個庫先恢復操做,在單獨將某個表備份,在恢復某個表

 

mysql備份並自動壓縮命令

#! /bin/bash

mysqldump -uroot -p'password' databasename | gzip > /home/backup/database_`date +%Y%m%d%H%M`.sql.gz

 

備份方案:

備份主機:192.168.10.11

數據庫服務器:192.168.10.22

備分內容:對mysql服務器中的xxxx和yyyy庫進行遠程備份,天天凌晨2:30執行,每一個庫備份爲獨立的.sql文件,而後壓縮成.tar.gz的格式,文件名中嵌入執行備份的日期和時刻。

工做準備:

一、確保備份主機與數據庫服務器之間的網絡保持鏈接通暢,不能有網絡鏈路故障,防火牆等阻礙。

二、mysql服務必須容許備份主機遠程訪問,且受權用戶可以查詢xxxx和yyyy庫。

這兒能夠建立一個專用的數據庫備份帳戶"kanghui" 容許備份主機192.168.10.11鏈接到mysql數據庫,並受權對xxxx和yyyy庫的讀取權限,使用邏輯備份工具mysqldump的時候,須要對庫設置select和lock和tables權限

mysql > grant select,lock tables on xxxx.*to 'kanghui'@'192.168.10.11' identified by '123456';  
  
mysql > grant select,lock tables on yyyy.*to 'kanghui'@'192.168.10.11' identified by '123456';

設置訪問權限後就在備份服務器上測試數據庫訪問,查詢受權等是否有效。

[root@localhost ~]#mysqldump -u root -p123456 -h 192.168.10.22 --databases xxxx > ceshi.sql  
  
[root@localhost ~]#ls -lh ceshi.sql

下面是一個mysql的備份腳本,根據本身的需求修改便可。

[root@localhost ~]#mkdir -p /opt/mysql_bak/  
[root@localhost ~]#cd /opt/mysql_bak/  
[root@localhost mysql_bak]# vim mysql_bak.sh  
#!/bin/bash  
#auto backup mysqldb  
#by authors kanghui 2016-06-12  
#這是一個簡單化到MYSQL數據庫邏輯備份腳本  
#1.定義數據庫連接,目標庫信息  
MY_user="root"  
MY_pass="123456"  
MY_host="192.168.10.22"  
MY_conn="-u $MY_user -p$MY_pass -h $MY_host"  
MY_db1="xxxx"  
MY_db2="yyyy"  
#2.定義備份目錄,工具,時間,文件名  
BF_dir="/opt/mysql_bak"  
BF_cmd="/usr/bin/mysqldump"  
BF_time="date +%Y%m%d-%H%M"  
name_1="$MY_db1-$BF_time"  
name_2="$MY_db2-$Bf_time"  
#3先導出爲.sql腳本,而後再進行壓縮(打包後刪除源文件)  
cd $BF_dir  
$BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql  
$BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql  
/bin/tar zcf $name_1.tar.gz $name_1.sql --remove &> /dev/null  
/bin/tar zcf $name_2.tar.gz $name_2.sql --remove &> /dev/null

設置權限並測試:

[root@localhost mysql_bak]#chmod +x mysql_bak.sh  
[root@localhost mysql_bak]#./mysql_bak.sh  
[root@localhost mysql_bak]#ls -lh /opt/mysql_bak/*.gz  

 最後把腳本加入帶計劃任務便可。

[root@localhost ~]#crontab -e  
30 2 * * * /opt/mysql_bak/mysql_bak.sh 

 

使用tar備份

使用root用戶切換到根目錄
而後,使用下面的命令備份完整的系統:
tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys
或者
tar cvpzf /state/partition1/home/backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys

恢復:

系統被毀壞,就能夠用備份好的tar包進行恢復。
在分區的根目錄下的backup.tgz文件
再一次確保你是根用戶以及備份文件在文件系統的根目錄。

要用的命令:
tar xvpfz backup.tgz -C /

若是你使用 bz2:
tar xvpfj backup.tar.bz2 -C /

警告:這會把你分區裏全部文件替換成壓縮文檔裏的文件!

確保在你作其餘任何事情以前,從新建立你剔除的目錄:
mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys

桌面系統備份實戰

Linux系統全部的數據都以文件的形式存在,因此備份就是直接拷貝文件;硬盤分區也被當成文件,因此能夠直接克隆硬盤數據。
Linux系統自帶不少實用工具,好比tar、dd、rsync等,備份還原系統不須要購買或下載第三方軟件。
Linux系統在運行時其硬盤上的文件能夠直接被覆蓋,因此還原系統的時候不須要另外的引導盤。(固然,系統徹底掛掉到沒法啓動這種狀況仍是須要另外的引導盤的。)
備份Linux系統的策略有不少,好比使用dd命令直接克隆硬盤分區:

sudo dd if=/dev/sda1 of=/dev/sdb1

或者,使用tar將硬盤上的文件打包:

tar cvpzf backup.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/backup.tgz /

還原系統的命令是:

dd if=/dev/sdb1 of=/dev/sda1

tar xvpfz backup.tgz -C /

 

桌面系統備份實戰

備份策略是使用rsync命令將硬盤上的全部文件(固然要排除/proc和/sys目錄下的內容)複製到U盤上。首先使用df -lh命令查看一下我電腦的系統佔多大空間,

#df -h

#mount 

碰到超過4G的巨型文件怎麼辦?so,先umount它,而後使用mkfs.ext3爲它從新創建一個文件系統。

#umount /dev/sdb1

#mkfs.ext3 /dev/sdb1

再把U盤mount起來,掛載的路徑爲/media/youxia/usb

#mkdir /medida/youxia/usb

#mount /dev/sdb1/ /media/youxi/usb

開始備份了,我備份的命令是:

rsync -Pa / /media/youxia/usb/backup_20141216 --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/*

 

YUM安裝的MySQL ,數據存在/var/lib/mysql目錄

源碼安裝的,數據存在目錄

mysqldump經常使用參數

 

-A

(--all-databases)

        全庫備份

–B  

增長建庫(create)及「use庫」的語句,可接多個庫名,同時備份

多個庫***** -B 庫1 庫2。

備份帶有create、use等語句。

-d

僅表結構。

-t 

僅數據。

–R

(--routines)

備份存儲過程和函數數據

(--triggers)

備份觸發器數據

-F

(--flush-logs) 

刷新binlog日誌(回顧binlog)

自動在備份時滾動binlog

--routines 

減小無用數據輸出

(調試)

 

 

經常使用備份腳本

 

#!/bin/bash
#單庫備份目錄
Single_Database="/usr/local/mysql/backup/Single_Database/"
#全庫備份目錄
Full_Database="/usr/local/mysql/backup/Full_Database/"
#日誌存放目錄
LOG="/usr/local/mysql/backup/backup.log"
#示例單庫
Sin_Dat=mysql_test
#登陸數據庫的用戶
USER="root"
#登陸數據庫的密碼 
PASSWD="123456"
#數據庫的IP
HOST="localhost"
#數據庫的端口
PORT="3306"
#當前時間
time=`date +"%Y-%m-%d %H:%M:%S"`



#備份單庫mysql_test
echo -e "\033[34m ***********Begin backup Single Database***********\033[0m"
#顯示進度條
b=''
i=0
while [ $i -le  100 ]
do
    printf "Please wait...[%-50s]%d%%\r" $b $i
    sleep 0.1
    i=`expr 2 + $i`        
    b=#$b
done
#若是單庫目錄不存在則建立並進入到目錄
[ ! -d $Single_Database ] && mkdir -p $Single_Database || cd "$Single_Database" >/dev/null 2>&1
#使用MySQL自帶的mysqldump進行備份
mysqldump -u$USER -p$PASSWD -h$HOST -P$PORT -F -R --triggers -B $Sin_Dat --lock-all-tables >$Single_Database$Sin_Dat"_"$time.sql
#打印日誌存放地址
echo -e "\033[35m##You can query log in $LOG##\033[0m"
#備份成功與否都打印相應信息
if [ $? == 0 ];then
       echo -e "\033[35m##$Sin_Dat backup successful in $Single_Database##\033[0m"
    else
       echo -e "\033[35m##$Sin_Dat backup failed in $Single_Database##\033[0m"
fi
#休息10秒
sleep 10

#換行
echo 



#備份所有數據庫
echo -e "\033[34m ***********Begin backup Full databases***********\033[0m"
#顯示進度條
b=''
i=0
while [ $i -le  100 ]
do
    printf "Please wait...[%-50s]%d%%\r" $b $i
    sleep 0.1
    i=`expr 2 + $i`
    b=#$b
done
#若是全庫目錄不存在則建立並進入到目錄
[ ! -d $Full_Database ] && mkdir -p $Full_Database || cd "$Full_Database" >/dev/null 2>&1
#使用MySQL自帶的mysqldump進行備份
mysqldump -u$USER -p$PASSWD -h$HOST  -P$PORT -A -B -R -F --lock-all-tables >$Full_Database/Full_$time.sql
#打印日誌存放地址
echo -e "\033[35m##You can query log in $LOG##\033[0m"
#備份成功與否都打印相應信息
if [[ $? == 0 ]];then
        echo -e "\033[35m##Full database backup successful in $Full_Database##\033[0m"
    else
        echo -e "\033[35m##Full database backup failed in $Full_Database##\033[0m"
fi

 

 

腳本演示

 

SHELL編程實戰MYSQL被非法腳本(編程思路)

(1)備份MYSQL數據庫,備份的工具的選擇;

數據小於100G, 使用全備 ,基於mysqldump工具有份,備份會鎖表;

數據大於100G, 使用增量備份 ,基於Xtrabackup工具有份,Innodb引擎;

(2)備份MYSQL數據庫,備份的策略的選擇;

周進行全備,或者每週1-6增量備份週日全備;通常凌晨1點-7點結束;

 

(3)備份MYSQL數據庫,備份的路徑或者目錄、服務器;

/data/backup/'date+%F'  ,當天的日期 ,或者備份到遠程服務器、FTP服務器;

(4)備份MYSQL數據庫,全庫備份仍是單庫備份;

備份單個數據庫,或者備份全部的數據庫,根據需求選擇;

(5)備份MYSQL數據庫 ,備份的用戶名、密碼;

設置專門備份數據庫用戶名和密碼,跟生產環境其餘用戶名和密碼分開,提升安全性;

(6)備份MYSQL數據庫,保存的空間,是否認時清除的舊的數據;

定時刪除舊的數據,基於find工具查找30天之前、半年以前的數據,rm掉;

 

SHELL自動備份MYSQL數據庫(思路)

SHELL自動備份MYSQL數據庫(思路)

 

1)服務器必須存在MYSQL服務;

2)明確備份MYSQL的工具;

3)基於MYSQLdump優缺點;

4)備份的命令及語法;

5)備份的數據庫,目的地;

6)備份的策略,增量、全備,備份的時間;

數據量小於100G,天天凌晨2點,作完整備份!

數據量大於100G,每週1-6進行增量備份(增長、修改),每週日進行完整備份;

7)定時刪除過時的數據,四劍客find;

#mysqldump -uroot -p --all-databases               #表示備份全部的數據庫

#mysqldump -uroot -p test                    #表示備份test數據庫

#mysqldump -uroot -p zabbix > /data/backup/20190623/zabbix.sql      #備份zabbix數據庫到/data/backup/20190623/zabbix.sql 文件中。

 

>grant select on *.* to backup@'localhost' identified by "123456";    #對select進行受權。 

報錯緣由 :沒有受權,僅僅對select進行受權,鎖不了表,就沒法備份。

 >grant all on *.* to backup@'localhost' identified by "123456";          #對全部進行受權。 

 

 

企業中MySQL數據庫備份最經常使用的方法以下:

  1. 直接cp備份;
  2. Sqlhotcopy;
  3. 主從同步複製;
  4. Mysqldump備份(簡單、快捷、方便,鎖表,只能讀取,MYISAMInnodb,備份效率低),備份數據庫100G如下!備份的時間1-2小時;
  5. Xtrabackup備份;(用於備份innodb,作到不鎖表,備份效率高,使用複雜),備份大數據,500G1T20分鐘!

MySQLdump工具 : 

一般小於100G的MySQL數據庫可使用默認Mysqldump備份工具進行備份,若是超過100G的數據,因爲Mysqldump備份方式是採用的邏輯備份,最大的缺陷是備份

 

數據庫中建立備份的用戶並受權:

grant all on *.* to backup@'localhost' identified by "1qaz@WSX";

flush privileges;

查看mysqldump工具路徑:

whereis mysqldump

which mysqldump

 

MYSQL備份腳本內容:(第一個版本)

#!/bin/bash

#2017年7月20日10:33:10

#by author www.jfedu.net

#auto backup mysql DB

##############

MYSQL_CMD="/usr/bin/mysqldump"

MYSQL_USR="backup"

MYSQL_PWD="1qaz@WSX"

MYSQL_DIR="/data/backup/$(date +%Y%m%d)"

MYSQL_DB="ultrax"

 

#Judge user UID for root

if [ $UID -ne 0 ];then

       echo -e "\033[32mYou must to be root user exec Shell.Please exit.\033[0m"

       exit 0

fi

#Create MYSQL Backup DIR Dest

if [ ! -d $MYSQL_DIR ];then

       mkdir -p $MYSQL_DIR

else

       echo -e "\033[32mThe $MYSQL_DIR already exists.\033[0m"

fi

 

#mysqldump backup mysql databases

$MYSQL_CMD -u$MYSQL_USR -p$MYSQL_PWD $MYSQL_DB >$MYSQL_DIR/${MYSQL_DB}.sql

if [ $? -eq 0 ];then

 

       echo -e "\033[32mThe ${MYSQL_DIR}/${MYSQL_DB}.sql Backup success.\033[0m"

       echo "----------------------"

       ls -l ${MYSQL_DIR}/${MYSQL_DB}.sql

else

       echo -e "\033[32mThe $MYSQL_DB Backup Failed,Please check. \033[0m"

fi

MYSQL備份腳本內容:(第二個版本)

#!/bin/bash

#2017年7月20日10:33:10

#by author www.jfedu.net

#auto backup mysql DB

##############

MYSQL_CMD="/usr/bin/mysqldump"

MYSQL_USR="backup"

MYSQL_PWD="1qaz@WSX"

MYSQL_BAK="/data/backup/$(date +%Y%m%d)"

MYSQL_DB="$1"

if [ $# -eq 0 ];then

       echo -e "\033[32m-------------------\033[0m"

       echo -e "\033[32mUsage:{sh $0 discuz|ultrax|jfedu|all}\033[0m"

       exit 0

fi

#Judge user UID for root

if [ $UID -ne 0 ];then

       echo -e "\033[32mYou must to be root user exec Shell.Please exit.\033[0m"

       exit 0

fi

#Create MYSQL Backup BAK Dest

if [ ! -d $MYSQL_BAK ];then

       mkdir -p $MYSQL_BAK

else

       echo -e "\033[32mThe $MYSQL_BAK already exists.\033[0m"

fi

#backup mysql all databases

if [ $MYSQL_DB == "all" ];then

       $MYSQL_CMD -u$MYSQL_USR -p$MYSQL_PWD --all-databases >$MYSQL_BAK/mysql_db_all.sql

       echo -e "\033[32mThe Mysql ALL DB Backup success.\n$MYSQL_BAK/mysql_db_all.sql\033[0m"

       exit 0

fi

#mysqldump backup mysql databases

$MYSQL_CMD -u$MYSQL_USR -p$MYSQL_PWD $MYSQL_DB >$MYSQL_BAK/${MYSQL_DB}.sql

if [ $? -eq 0 ];then

       echo -e "\033[32mThe ${MYSQL_BAK}/${MYSQL_DB}.sql Backup success.\033[0m"

       echo "----------------------"

       ls -l ${MYSQL_BAK}/${MYSQL_DB}.sql

else

       echo -e "\033[32mThe $MYSQL_DB Backup Failed,Please check. \033[0m"

fi

#judge mysql backup files for modify time;

#find $MYSQL_BAK/../ -mtime +30 -exec rm -rf {} \;

find `echo $MYSQL_BAK|awk -F/ '{print "/"$2"/"$3"/"}'` -mtime +30 -exec rm -rf {} \;

刪除30天之前的文件 

#find . -mtime +30 -name "*.sql" -type f -exec rm -rf {} \;

 

>source /data/sh/20190526/1.sql         #建立一個新的數據庫

 

Mysql定時自動備份

定時任務(crontab  -e);

mysql備份實例,自動備份mysql,並刪除30天前的備份文件

 

設計一個shell程序,在每個月第一天備份並壓縮/etc目錄的全部內容,存放在/root/bak目錄裏,且文件名爲以下形式yymmdd_etc,yy爲年,mm爲月,dd爲日。Shell程序fileback存放在/usr/bin目錄下。

參考答案:
(1)編寫shell程序fileback:
#!/bin/sh
DIRNAME=`ls /root | grep bak`
if [ -z "$DIRNAME" ] ; then
mkdir /root/bak
cd /root/bak
fi
YY=`date +%y`
MM=`date +%m`
DD=`date +%d`
BACKETC=$YY$MM$DD_etc.tar.gz
tar zcvf $BACKETC /etc
echo "fileback finished!"
(2)編寫任務定時器:
echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron
crontab /root/etcbakcron
或使用crontab -e 命令添加定時任務:
0 1 * * * /bin/sh /usr/bin/fileback

 

自動安裝Nginx腳本,採用case方式,選擇方式,也能夠根據實際需求改爲本身想要的腳本

#!/bin/sh  
  
###nginx install shell  
###wugk 2012-07-14  
###PATH DEFINE  
  
SOFT_PATH=/data/soft/  
NGINX_FILE=nginx-1.2.0.tar.gz  
DOWN_PATH=http://nginx.org/download/  
  
if[ $UID -ne 0 ];then  
echo This script must use administrator or root user ,please exit!  
sleep 2  
exit 0  
fi  
  
if[ ! -d $SOFT_PATH ];then  
mkdir -p $SOFT_PATH  
fi  
  
download ()  
{  
cd $SOFT_PATH ;wget $DOWN_PATH/$NGINX_FILE  
}  
  
install ()  
{  
yum install pcre-devel -y  
cd $SOFT_PATH ;tar xzf $NGINX_FILE ;cd nginx-1.2.0/ &&./configure –prefix=/usr/local/nginx/ –with-http_stub_status_module –with-http_ssl_module  
[ $? -eq 0 ]&&make &&make install  
}  
  
start ()  
{  
lsof -i :80[ $? -ne 0 ]&&/usr/local/nginx/sbin/nginx  
}  
  
stop ()  
{  
ps -ef |grep nginx |grep -v grep |awk ‘{print $2}’|xargs kill -9  
}  
  
exit ()  
{  
echo $? ;exit  
}  
  
###case menu #####  
  
case $1 in  
download )  
download  
;;  
  
install )  
install  
;;  
  
start )  
start  
;;  
stop )  
stop  
;;  
  
* )  
  
echo 「USAGE:$0 {download or install or start or stop}」  
exit  
esac

批量解壓tar腳本,批量解壓zip而且創建當前目錄。

#!/bin/sh  
PATH1=/tmp/images  
PATH2=/usr/www/images  
for i in `ls ${PATH1}/*`  
do  
tar xvf  $i  -C $PATH2  
done

這個腳本是針對全部tar文件在一個目錄,可是實際狀況中,有可能在下級或者更深的目錄,咱們可使用find查找

#!/bin/sh  
PATH1=/tmp/images  
PATH2=/usr/www/images  
for i in `find  $PATH1  -name  」*.tar」 `  
do  
tar xvf  $i  -C $PATH2  
done

如何是zip文件,例如123189.zip 132342.zip 等等批量文件,默認unzip直接解壓不帶自身目錄,意思是解壓123189.zip完當前目錄就是圖片,不能建立123189目錄下並解壓,能夠用shell腳本實現

#!/bin/sh  
PATH1=/tmp/images  
PATH2=/usr/www/images  
cd $PATH1  
  
for i in `find  . -name  」*.zip」|awk  -F.  {print $2} `  
do  
  
mkdir -p   PATH2$i  
  
unzip -o  .$i.zip  -d   PATH2$i  
done

ssh 批量上傳文件

上傳文件大多數用的是ftp,可是用ftp有一點很差,就是本地和遠程的目錄要對應,這樣就要在多個目錄下去切換,這樣挺麻煩的,若是不注意的話,頗有可能傳錯。因此想了個辦法利用scp來批量上傳文件或者目錄。

 

一,scp上傳不要輸入密碼

若是要用scp來上傳文件,第一步就要去掉scp上傳時要輸入密碼。要否則就沒辦法批量上傳了。具體請參考:ssh 不用輸入密碼

 

二,ssh批量上傳腳本

 

1,要上傳的文件列表放到一個test文件中

root@ubuntu:/home/zhangy# cat test    
/home/zhangy/test/aaa    
/home/zhangy/test/nginx.conf    
    
/home/zhangy/test/test.sql    
/home/zhangy/test/pa.txt    
/home/zhangy/test/password

上面就要上傳的文件。

 

2,批量上傳的腳本

 

vim file_upload.sh

#!/bin/sh  
  
DATE=`date +%Y_%m_%d_%H`  
  
if [ $1 ]  
then  
  for file in $(sed '/^$/d' $1)     //去掉空行  
  do  
    if [ -f $file ]                 //普通文件  
    then  
      res=`scp $file $2:$file`      //上傳文件  
      if [ -z $res ]                //上傳成功  
      then  
        echo $file >> ${DATE}_upload.log   //上傳成功的日誌  
      fi  
    elif [ -d $file ]              //目錄  
    then  
      res=`scp -r $file $2:$file`  
      if [ -z $res ]  
      then  
        echo $file >> ${DATE}_upload.log  
      fi  
    fi  
  done  
else  
  echo "no file" >> ${DATE}_error.log  
fi

上傳成功後,返回的是一個空行,上傳不成功,什麼都不返回

3,上傳的格式

./file_upload.sh test 192.168.1.13

test是上傳列表文件,192.168.1.13文件要傳到的地方。

 

 

常見問題  : 

一、時間不一樣步

#date

#ntpdate pool.ntp.org

 

 

二、沒法ping通外網,更改DNS設置vi /etc/resolv.conf ,添加8.8.8.8.,再次ping外網

相關文章
相關標籤/搜索