2010-05-26 85 views
0

我有一個主網站,然後我有主服務器上的另一個文件夾中的主站點備份,如果主站點發生故障,我可以將流量推送到我的主站點副本。如何每晚更新主網站的複製文件夾?

這樣說我想每晚更新複製網站的更新文件對主站點從前一天的更新文本文件和新圖像。每24小時自動進行一次的最佳方法是什麼?我認爲可以爲此需求創建一個cron腳本?

任何幫助將不勝感激。

回答

1

一個調用rsync的cron作業應該足夠在他們的man頁面中播放一下,但是這個在你的crontab中應該可以工作。

0 0 * * * rsync src target >> log_file 
0

如果你的數據只是一組文件(沒有數據庫),那麼rsync將是一個不錯的選擇。它同時在同一臺機器或不同機器上的兩個位置進行同步。但是它需要rsync守護進程在其中一臺機器上運行或者ssh訪問。大多數Linux發行版都默認使用SSH訪問。這不適用於Windows,除非你安裝cygwin之類的東西。如果您需要更多信息,請詢問。

0

使用cronjobs是一個好主意,但請記住,有時候複製是不夠的。例如,如果您的站點有數據庫連接,那麼您可能也想要導出這些數據。另外請記住,將文件保留在同一臺計算機上比備份到另一臺計算機更糟糕,並且在整個服務器停止響應的情況下將其指向它。

我使用以下工具 -

  • 的crontab
  • rsync - 複製文件的安全設備之間使用SSH。
  • mysqldump - 導出數據庫表。
0

是的,你可以運行一個cron腳本......但是如果主站點出現故障,你是否真的認爲同一臺服務器上的另一個文件夾會保持不變?我不知道您的特定站點,但對於大多數站點,我認爲失敗可能是由於事件影響服務器計算機,而不是服務器上的特定文件夾,如超載,停電,磁盤或其他系統失敗等。

至於cron腳本的實現,您應該看看rsync,它可以同時在同一臺計算機或計算機之間同步文件夾。另一種可能性是將您的網站存儲在Subversion存儲庫或其他SCM中,並且只需定期運行更新命令。當然,這需要您爲Subversion(或其他SCM)存儲庫提供某種形式的託管。

在cron中,可以使用縮寫「@midnight」來指示事件應該在午夜發生(而不必填寫每個不同的時間字段)。請參閱cron Wikipedia page

相關問題