Linux下自動備份文件到遠程FTP服務器并刪除指定日
Linux下自動備份文件到遠程FTP服務器并刪除指定日
;這里要把/backup/oracledata。目錄下面的所有文件備份到/backup/oracledata。bak里面,并且保存為TianShan20140409.tar.gz的壓縮文件(20140409是指備份執行時當天的日期),然后只保留最近7天的備份,再把備份文件通過ftp服務器上傳到指定空間/oraclebackup下,只保留最近7天的數據。場景說明;操作系統:Centos。FTP: ;192.168.148.121 ;用戶:dell ;密碼:123。解決方案:利用Linux ;crontab-自動化的任務 ;實現自動備份。實現步驟;1、創建保存備份文件的目錄。
導讀 ;這里要把/backup/oracledata。目錄下面的所有文件備份到/backup/oracledata。bak里面,并且保存為TianShan20140409.tar.gz的壓縮文件(20140409是指備份執行時當天的日期),然后只保留最近7天的備份,再把備份文件通過ftp服務器上傳到指定空間/oraclebackup下,只保留最近7天的數據。場景說明;操作系統:Centos。FTP: ;192.168.148.121 ;用戶:dell ;密碼:123。解決方案:利用Linux ;crontab-自動化的任務 ;實現自動備份。實現步驟;1、創建保存備份文件的目錄。
系統大全為您提供?這里要把/backup/oracledata目錄下面的所有文件備份到/backup/oracledatabak里面,并且保存為TianShan20140409.tar.gz的壓縮文件(20140409是指備份執行時當天的日期),然后只保留最近7天的備份,再把備份文件通過ftp服務器上傳到指定空間/oraclebackup下,只保留最近7天的數據。場景說明操作系統:CentosFTP:?192.168.148.121?用戶:dell?密碼:123解決方案:利用Linux?crontab-自動化的任務?實現自動備份實現步驟1、創建保存備份文件的目錄[root@localhost?ts]#?mkdir?-p?/backup/oracledatabak2、創建備份腳本文件?tianshanftp.sh????vim?/backup/oracledatabak/tianshanftp.sh?;輸入以下內容(詳細的代碼解釋)???#!/binFTP_IP=192.168.148.121??????#ftp地址FTP_USER=dell???????????#ftp用戶名FTP_PASS=123???????????#ftp密碼FTP_backup=/oraclebackup?????????#ftp上存放備份文件的目錄,需要先在FTP上面建好BK_DR=/backup/oracledatabak????#備份文件存放路徑DB_DR=/backup/oracledata??#已經存在文件DAYS=7????????????????????#DAYS=7代表刪除7天前的備份,即只保留最近7天的備份LINUX_USER=root???????????#系統用戶名date=`?date?+%Y%m%d?`tar?zcvf?$BK_DR/TianShan$date.tar.gz?$DB_DRchown?-R?$LINUX_USER:$LINUX_USER?$BK_DR??#更改備份數據庫文件的所有者find?$BK_DR?-name?"TianShan*"?-type?f?-mtime?+$DAYS?-exec?rm?{}?;??#刪除7天前的備份文件(注意:{}?;中間有空格)deldate=`?date?-d?-7day?+%Y%m%d?`???#刪除ftp服務器空間7天前的備份ftp?-i?-v?-n?$FTP_IP?《?END?#打開ftp服務器。21為ftp端口???《END?和最后的?END:術語叫:當前文檔here?documents.?here?document?就是一段特殊目的的代碼塊【#它使用I/O重定向的形式來將一個命令序列傳遞到一個交互程序或者命令中,比如ftp、cat,或者ex文本編輯器。???本句可以理解從《END開始以非對話模式的ftp連接,直到輸入END為止的所有命令。???當然END這個名字是可以隨便取的,不一定必須是END,可以取其它的名字。???】user?$FTP_USER?$FTP_PASS???#用戶名、密碼binary?????????#設置二進制傳輸cd?$FTP_backup??#進入ftp目錄lcd?$BK_DR??#列出本地目錄mput?TianShan$date.tar.gz?TianShan$date.tar.gz????#上傳目錄中的文件mdelete?TianShan$deldate.tar.gz?TianShan$deldate.tar.gz??#刪除ftp空間7天前的備份byeEND如果手動執行?sh沒有問題的話,而放到crontab?執行報錯話,請把上面的注釋刪掉,在執行試試。可以直接用下面【【】】里面的代碼即可。【【???#!/binFTP_IP=192.168.148.121FTP_USER=dellFTP_PASS=123FTP_backup=/oraclebackupBK_DR=/backup/oracledatabakDB_DR=/backup/oracledataDAYS=7LINUX_USER=rootdate=`?date?+%Y%m%d?`tar?zcvf?$BK_DR/TianShan$date.tar.gz?$DB_DRchown?-R?$LINUX_USER:$LINUX_USER?$BK_DRfind?$BK_DR?-name?"TianShan*"?-type?f?-mtime?+$DAYS?-exec?rm?{}?;deldate=`?date?-d?-7day?+%Y%m%d?`ftp?-i??-v?-n?$FTP_IP?《?ENDuser?$FTP_USER?$FTP_PASSbinarycd?$FTP_backuplcd?$BK_DRmput?TianShan$date.tar.gzmdelete?TianShan$deldate.tar.gzbyeEND??】】3、修改文件屬性,使其可執行chmod?+x?/backup/oracledatabak/tianshanftp.sh4、修改/etc/crontab???vi?/etc/crontab?????在下面添加5?2?*?*?*?root?/backup/oracledatabak/tianshanftp.sh???》?/backup/oracledatabak/mylog.log?2>&1??#表示每天凌晨2點5分執行備份,并保持對應日志5、重新啟動crond使設置生效service?crond?restart?#啟動每天你在/backup/oracledatabak目錄下面可以看到類似TianShan20140409.tar.gz這樣的壓縮文件,同時在FTP服務器下的?oraclebackup目錄下也有一個TianShan20140409.tar.gz這樣的壓縮文件,如果需要恢復文件的時候,只需要把這個文件解壓即可解壓縮:tar?-zxvf?TianShan20140409.tar.gz????以上就是系統大全給大家介紹的如何使的方法都有一定的了解了吧,好了,如果大家還想了解更多的資訊,那就趕緊點擊系統大全官網吧。??本文來自系統大全http:///如需轉載請注明!推薦:win7純凈版
Linux下自動備份文件到遠程FTP服務器并刪除指定日
;這里要把/backup/oracledata。目錄下面的所有文件備份到/backup/oracledata。bak里面,并且保存為TianShan20140409.tar.gz的壓縮文件(20140409是指備份執行時當天的日期),然后只保留最近7天的備份,再把備份文件通過ftp服務器上傳到指定空間/oraclebackup下,只保留最近7天的數據。場景說明;操作系統:Centos。FTP: ;192.168.148.121 ;用戶:dell ;密碼:123。解決方案:利用Linux ;crontab-自動化的任務 ;實現自動備份。實現步驟;1、創建保存備份文件的目錄。
為你推薦