自動上傳ftp
這篇文章很有分享價值,因為我們在實際的生產環境中需要將資料庫進行自動備份,然後上傳到指定的位置,當然也可以像以下文章中所講的一樣,上傳到你指定的FTP伺服器中,從而實現Mysql資料庫自動備份並上傳到遠程FTP伺服器的部署,在Linux技術交流群中,也有朋友會遇到這方面的問題,可以將此文分享給群友共益。
注意:任何的操作都會具有風險性,請在本機實際測試通過之後再部署到伺服器環境,這樣即熟練的掌握了操作的技巧,也能在測試過程中發現問題,尋找解決方法。
說明:我這里要把MySql資料庫存放目錄/var/lib/mysql下面的data資料庫備份到/home/mysql_data裡面
並且保存為mysqldata_bak_2012_12_19.tar.gz的壓縮文件格式(2012_12_19是指備份執行時當天的日期)
然後只保留最近7天的備份
再把備份文件通過ftp伺服器上傳到指定空間,只保留最近7天的數據
實現步驟:
1、創建保存備份文件的路徑:/home/mysql_data
cd /home
mkdir mysql_data
2、創建備份腳本文件:/home/mysql_data/mysql_databak.sh
cd /home
cd mysql_data
touch mysql_databak.sh
vim mysql_databak.sh
輸入以下內容:
#######################################################################################################
#!/bin/sh
DUMP=/usr/bin/mysqlmp #mysqlmp備份文件執行路徑
OUT_DIR=/home/mysql_data #備份存放路徑
LINUX_USER=root #系統用戶名
DB_NAME=data #要備份的資料庫名字
DB_USER=root #資料庫賬號 注意:非root用戶要用備份參數 --skip-lock-tables,否則可能會報錯
DB_PASS=123456 #資料庫密碼
DAYS=7 #DAYS=7代表刪除7天前的備份,即只保留最近7天的備份
cd $OUT_DIR #進入備份存放目錄
DATE=`date +%Y_%m_%d` #獲取當前系統時間
OUT_SQL="$DATE.sql" #備份資料庫的文件名
TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最終保存的資料庫備份文件名
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #備份
tar -czf $TAR_SQL ./$OUT_SQL #壓縮為.tar.gz格式
rm $OUT_SQL #刪除.sql格式的備份文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改備份資料庫文件的所有者
find $OUT_DIR -name "mysqldata_bak_*" -type f -mtime +$DAYS -exec rm {} \; #刪除7天前的備份文件
deldate=` date -d -7day +%Y_%m_%d ` #獲取7天前的時間
ftp -n<<!
open 192.168.1.1 21 #打開ftp伺服器。21為ftp埠
user admin 123456 #用戶名、密碼
binary #設置二進制傳輸
cd mysqlbak #進入ftp目錄(這個目錄必須為ftp空間真實存在的目錄)
lcd /home/mysql_data #列出本地目錄
prompt
put mysqldata_bak_$DATE.tar.gz mysqldata_bak_$DATE.tar.gz #上傳目錄中的文件
delete mysqldata_bak_$deldate.tar.gz mysqldata_bak_$deldate.tar.gz #刪除ftp空間7天前的備份
close
bye !
#######################################################################################################
3、修改文件屬性,使其可執行
chmod +x /home/mysql_data/mysql_databak.sh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
30 1 * * * root /home/mysql_data/mysql_databak.sh
表示每天凌晨1:30分執行備份
5、重新啟動crond使設置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #設為開機啟動
service crond start #啟動
每天你在/home/mysql_data目錄下面可以看到類似mysqldata_bak_2012_12_19.tar.gz這樣的壓縮文件
如果需要恢復文件的時候,只需要把這個文件解壓即可
解壓縮tar -zxvf mysqldata_bak_2012_12_19.tar.gz
至此,我們完成了Linux中Mysql資料庫自動備份並上傳到遠程FTP伺服器的部署。
2. 如何寫一個bat批處理自動上傳文件到FTP
@EchoOff
Echoopen10.80.138.16>ftp.up
EchoFTP_Admin>>ftp.up
EchoPassword11>>ftp.up
EchoCd.User>>ftp.up
Echobinary>>ftp.up
Echoput"D:UserListUser.csv">>ftp.up
Echobye>>ftp.up
FTP-s:ftp.up
delftp.up/q
Pause
直接寫好了.請測試.
以上代碼經測試可用.
3. 文件自動上傳 FTP
下載FlashFXP軟體,版本不用是最新的。
連接上FTP伺服器
右鍵點擊需要上傳的文件,高級傳輸->隊列為
可以在隊列欄看到隊列信息
依次點擊工具->計劃,在已計劃的任務對話框中新建計劃任務
設置好運行時間等條件,點擊保存就可以了。到點將自動上傳數據。
4. 用批處理,將一個文件夾裡面的文件自動上傳到ftp上
此項操作需要製作兩個文件。
第一個文件(批處理文件):ftp.bat
ftp-s:ftp.ftp
(ping127.0.0.1-n2)>nul
%0
第二個文件(ftp腳本)ftp.ftp
open10.10.10.10
userUSERNAME
PASSWORD
lcd"D:ftp"
put*.txt
!mv"D:ftp*.txt""D:ftpak"
bye
將ftp.bat和ftp.ftp放置到一個文件夾內,使用時雙擊ftp.bat。
該腳本調用ftp.ftp,將"D:ftp」中的所有txt結尾的文件,上傳到"ftp://10.10.10.10/sys"文件夾中,然後執行備份"D:ftp*」到"D:ftpak"。每次操作完成後延遲1秒後重新執行。
ftp用戶名和密碼,在ftp.ftp的第二、三行更改(大寫的部分分別是賬戶和密碼,若ftp是匿名訪問,則用戶名、密碼均為anonymous)。
每次操作的延遲時間在ftp.bat第二行更改(更改-n 2的值為需要延遲的時間+1,時間單位為1秒)。
5. 請問如何自動上傳文件到ftp
用ftp軟體就可以了
6. 自動上傳FTP腳本
你用ftp 工具 上傳不行嗎 用這個工具
8uftp同時支持直接上傳壓縮包,可在空間上直接解壓。也可以在空間上壓縮後直接下載壓縮包。
.增加遠程ftp目錄的復制URL功能
增加遠程ftp目錄和本地目錄對比的工具
7. 怎麼讓文件自動上傳ftp伺服器
下載FlashFXP軟體,版本不用是最新的。
2
連接上FTP伺服器
3
右鍵點擊需要上傳的文件,高級傳輸->隊列為
4
可以在隊列欄看到隊列信息
5
依次點擊工具->計劃,在已計劃的任務對話框中新建計劃任務
8. 自動上傳某文件進入FTP伺服器的批處理命令怎麼寫
rem -----------腳本開始---------------
@echo off
set ftpfile=putfiles.ftp
set logfile=putfiles.log
echo open 192.168.0.1 > "%ftpfile%"
rem 把下面行中的 username和password改為你的用戶名和密碼
echo user username password >> "%ftpfile%"
rem ------------------------------
echo bin >> "%ftpfile%"
rem 進入FTP server 中的"X"目錄
echo cd X >> "%ftpfile%"
rem ------------------------------
rem 進入本地C盤根目錄
echo lcd c:\ >> "%ftpfile%"
rem ------------------------------
echo put A.TXT >> "%ftpfile%"
echo quit >> "%ftpfile%"
echo -------------------------------- >> "%logfile%"
date /t >> "%logfile%"
time /t >> "%logfile%"
echo -------------------------------- >> "%logfile%"
ftp -n < "%ftpfile%" >> "%logfile%"
del "%ftpfile%"
@echo on
rem -----------腳本結束---------------
在Windows XP(本地),Ubuntu(FTP Server) 測試通過。
9. 如何自動上傳本地文件到 FTP 中指定的文件夾
。然後登陸FTP
點開
data文件夾然後選中你要上傳的文件點軟體上的
上傳按扭
就可以啦。。。或者
你上傳到了FTP任何一個位置直接剪貼
或者拖拽
放到data文件夾
就行的記住FTP就是一個
網路硬碟
。。。和家裡
電腦硬碟
唯一區別就是一個在網上,一個在...
10. 如何ftp命令自動上傳文件至指定的文件夾
用FTP 上傳 軟體這就不用多說了吧。。
然後登陸FTP 點開 data文件夾
然後選中你要上傳的文件
點軟體上的 上傳按扭 就可以啦。。。
或者 你上傳到了FTP任何一個位置
直接剪貼 或者拖拽 放到data文件夾 就行的
記住FTP就是一個網路硬碟。。。和家裡電腦硬碟唯一區別就是一個在網上,一個在自己家電腦上。。其實操作和用自己家電腦硬碟一樣的。。。