2010-05-26 84 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

相关问题