2014年6月20日 星期五

FTP上傳自動備份

[轉載至http://hen.librarian.idv.tw/content/linux%E6%8E%92%E7%A8%8B%E5%88%A9%E7%94%A8ftp%E8%87%AA%E5%8B%95%E5%82%99%E4%BB%BD%E8%87%B3%E9%81%A0%E7%AB%AF%E4%B8%BB%E6%A9%9F]


當我們架設一部伺服器時,為了確保資料不遺失,通常會備份至遠端的站台或空間。或者有些例行性的資料必需傳送到另一部主機上時,也會利用到相同的做法。
這其中,除了FTP的工具之外,另一個會應用到就是Linux提供的crontab排程工具。
排程也非常容易,只需要在指令列輸入
#crontab -e
就會進入排程的編輯畫面。排程編輯的前面五碼分別是分、時、日、月、週,以空白區隔,也就代表排程指令的執行頻率。最後是指令,也就是這個排程要執行的動作,我會建議將執行的工作,編寫成一個sh (shell script)檔案,在排程中只要執行這個sh檔案就可以了。
#分 時 日 月 週 |<==============指令串========================>|
0   12  *  *  * /home/user/back.sh
至於back.sh檔案的內容,因為我們要使用FTP將檔案傳送至遠端的站台,說明範例如下:
#!/bin/sh 
  #定義所有的變數
  host="remote-host"
  id="username"
  pw="password"
  basedir="localhost-dir"
  remodir="remote-dir"
  
  #連線至遠端主機
  ftp -vin $host << EOF
  #輸入帳號密碼
  user $id $pw
  binary
  #上傳檔案
  put $basedir/file-name $remodir/file-name
  #離線
  quit
  EOF

沒有留言:

張貼留言