当前位置: 首页 > news >正文

商梦建站网站被k是什么意思

商梦建站,网站被k是什么意思,工信部网站备案名单,网站改版分析简介 Redis 是一个内存中的键值缓存和存储#xff08;也可以是数据库#xff09;#xff0c;同时也可以持久化#xff08;永久保存#xff09;到磁盘上。在本文中#xff0c;您将了解如何在 Ubuntu 14.04 服务器上备份 Redis 数据库。 默认情况下#xff0c;Redis 数据…简介 Redis 是一个内存中的键值缓存和存储也可以是数据库同时也可以持久化永久保存到磁盘上。在本文中您将了解如何在 Ubuntu 14.04 服务器上备份 Redis 数据库。 默认情况下Redis 数据保存在一个 .rdb 文件中这是您的 Redis 数据集的一个时间点快照。这个快照是在指定的时间间隔内生成的非常适合用于备份。 先决条件 要完成本教程中的步骤您需要 一个 Ubuntu 14.04 服务器安装 Redis。您可以按照这个 Redis 设置教程中的 master 设置尽管在主从集群中同样适用确保您的 Redis 服务器正在运行如果设置了 Redis 密码强烈建议设置确保您知道密码。密码在 Redis 配置文件 /etc/redis/redis.conf 中。 步骤 1 — 定位 Redis 数据目录 Redis 将其数据存储在服务器上的一个目录中这就是我们要备份的内容。首先我们需要知道它的位置。 在 Ubuntu 和其他 Linux 发行版中Redis 数据库目录是 /var/lib/redis。但是如果您管理的服务器是继承而来的并且 Redis 数据位置已更改您可以通过输入以下命令来定位它 sudo locate *rdb或者您也可以从 redis-cli 提示符中找到它。要做到这一点输入 redis-cli如果 Redis 服务器没有运行响应将是 无法连接到 127.0.0.1:6379 的 Redis连接被拒绝 未连接在这种情况下启动 Redis 并使用以下命令重新连接 sudo service redis-server startredis-cliShell 提示现在应该变成 127.0.0.1:6379连接到 Redis 后接下来的两个命令将对其进行身份验证并获取数据目录 auth 插入-redis-密码-这里config get dir最后一个命令的输出应该是您的 Redis 数据目录 1) dir 2) /var/lib/redis记下您的 Redis 目录。如果它与显示的目录不同请确保在整个教程中使用此目录。 现在可以退出数据库命令行界面 exit检查这是否是正确的目录 ls /var/lib/redis您应该看到一个 dump.rdb 文件。这就是 Redis 数据。如果 appendonly 也已启用您还将看到一个 appendonly.aof 或另一个 .aof 文件其中包含服务器接收的所有写操作的日志。 有关 Redis 持久性的讨论请参阅此帖子以了解这两个文件之间的区别。基本上.rdb 文件是当前快照而 .aof 文件保留了您的 Redis 历史。这两者都值得备份。 我们将从只有 .rdb 文件开始并以自动备份这两个文件结束。 可选步骤 2 — 添加示例数据 在本节中您可以创建一些示例数据以存储在您的 Redis 数据库中。如果您的服务器上已经有数据您可以直接备份现有内容。 登录到数据库命令行界面 redis-cli进行身份验证 auth 插入-redis-密码-这里让我们添加一些示例数据。每个步骤后您应该收到 OK 的响应。 SET shapes:triangles 3 sidesSET shapes:squares 4 sides确认数据已添加。 GET shapes:trianglesGET shapes:squares以下是输出 3 sides4 sides要将这些更改保存到 /var/lib/redis/dump.rdb 文件中请执行保存操作 save您可以退出 exit如果愿意现在可以检查 dump 文件的内容。它应该包含您的数据尽管以机器友好的形式呈现 sudo cat /var/lib/redis/dump.rdb步骤 3 —— 备份 Redis 数据 现在你知道了 Redis 数据的存储位置是时候进行备份了。从官方 Redis 网站上可以找到以下引用 Redis 非常友好地支持数据备份因为你可以在数据库运行时复制 RDB 文件一旦生成RDB 就不会被修改而在生成过程中会使用临时名称并且只有在新快照完成时才会使用 rename(2) 原子地将其重命名为最终目的地。 因此你可以在 Redis 服务器运行时备份或复制数据库文件。假设你要将其备份到家目录下的一个目录中执行备份的命令如下 sudo cp /var/lib/redis/dump.rdb /home/sammy/redis-backup-001Redis 定期保存内容这意味着如果上述命令是你运行的全部内容你不能保证备份是最新的。 你需要先保存你的数据。 然而如果可以接受潜在的少量数据丢失仅备份这一个文件就可以。 保存数据库状态 为了获得一个更加近期的 Redis 数据副本更好的方法是访问 redis-cli即 Redis 命令行。 按照第 1 步中的说明进行身份验证。 然后像这样发出 save 命令 save输出应该类似于 OK (1.08s)退出数据库。 现在你可以运行上面给出的 cp 命令确信你的备份是完全最新的。 虽然 cp 命令将提供数据库的一次性备份但最佳解决方案是设置一个可以自动化该过程的 cron 作业并使用一个可以执行增量更新并在需要时恢复数据的工具。 步骤 4 —— 使用 rdiff-backup 和 Cron 配置自动更新 在本节中我们将配置一个自动备份备份整个 Redis 数据目录包括数据文件。 有几种自动化备份工具可供选择。在本教程中我们将使用一个较新且用户友好的工具名为 rdiff-backup。 rdiff-backup 是一个命令行备份工具。很可能你的服务器上尚未安装 rdiff-backup因此你首先需要安装它 sudo apt-get install -y rdiff-backup现在它已经安装好了你可以通过将 Redis 数据备份到家目录中的一个文件夹来测试它。在本例中我们假设你的家目录是 /home/sammy 请注意如果目标目录不存在脚本将会创建它。换句话说你不必自己创建它。 使用 –preserve-numerical-ids源目录和目标目录的所有权将保持一致。 sudo rdiff-backup --preserve-numerical-ids /var/lib/redis /home/sammy/redis与之前的 cp 命令类似这是一次性备份。不同之处在于现在我们备份整个 /var/lib/redis 目录并且使用 rdiff-backup。 现在我们将使用 cron 自动化备份以便在设定的时间进行备份。为此打开系统 crontab sudo crontab -e如果你在此服务器上以前没有使用过 crontab请在提示时选择你喜欢的文本编辑器。 在文件底部追加如下条目。 0 0 * * * rdiff-backup --preserve-numerical-ids --no-file-statistics /var/lib/redis /home/sammy/redis此 Cron 条目将在每天午夜执行一次 Redis 备份。–no-file-statistics 开关将禁用写入 rdiff-backup-data 目录中的 file_statistics 文件这将使 rdiff-backup 运行更快并且占用的磁盘空间稍少一些。 或者你可以使用以下条目进行每日备份 daily rdiff-backup --preserve-numerical-ids --no-file-statistics /var/lib/redis /home/sammy/redis有关 Cron 的更多信息请阅读这篇关于 Cron 的文章。 目前备份将每天执行一次因此你可以明天回来进行最终测试。或者你可以暂时增加备份频率以确保它正常工作。 由于文件的所有者是 redis 系统用户你可以使用以下命令验证它们是否存在确保你等到备份实际触发 ls -l /home/sammy/redis你的输出应该类似于 total 20 -rw-rw---- 1 redis redis 70 Sep 14 13:13 dump.rdb drwx------ 3 root root 12288 Sep 14 13:49 rdiff-backup-data -rw-r----- 1 redis redis 119 Sep 14 13:09 redis-staging-ao.aof现在你的 Redis 数据每天都会在同一台服务器上的家目录中进行备份。 步骤 5 — 从备份中恢复 Redis 数据库 现在您已经学会了如何备份 Redis 数据库接下来的步骤将向您展示如何从 dump.rdb 备份文件中恢复数据库。 恢复备份需要您用恢复文件替换活动的 Redis 数据库文件。由于这可能具有破坏性我们建议如果可能的话将其恢复到一个全新的 Redis 服务器。 您不希望用更有问题的恢复文件覆盖您的实时数据库。然而即使是在恢复到同一台服务器时重命名而不是删除当前文件可以最小化风险这也是本教程展示的策略。 检查恢复文件内容 首先检查您的 dump.rdb 文件的内容。确保它包含您想要的数据。 您可以直接检查转储文件的内容尽管请记住它使用的是 Redis 友好的格式而不是人类友好的格式 sudo cat /home/gilly/redis/dump.rdb对于一个小型数据库您的输出应该看起来像这样 REDIS0006?shapes:triangles3 sidesshapes:squares4 sides??!^?\?,?如果您最近的备份没有所需的数据那么您不应该继续进行恢复。如果内容存在可以继续。 可选模拟数据丢失 让我们模拟数据丢失这将是从备份中恢复的原因。 登录到 Redis redis-cli在这一系列命令中我们将使用 Redis 进行授权并删除 shapes:triangles 条目 auth insert-redis-password-hereDEL shapes:triangles现在让我们确保该条目已被删除 GET shapes:triangles输出应该是 (nil)保存并退出 saveexit可选设置新的 Redis 服务器 现在如果您计划恢复到一个新的 Redis 服务器请确保新的 Redis 服务器已经启动。 为了本教程的目的我们将只遵循 Redis 集群教程的 第 1 步尽管如果您想要一个更复杂的设置可以遵循整篇文章。 如果您遵循了 第 2 步在那里您添加了密码并启用了 AOF请确保在恢复过程中考虑到这一点。 一旦您通过运行 redis-benchmark -q -n 1000 -c 10 -P 5 验证了新服务器上的 Redis 已经启动您就可以继续。 停止 Redis 在我们替换 Redis 转储文件之前我们需要停止当前运行的 Redis 实例。一旦停止 Redis您的数据库将处于离线状态。 sudo service redis-server stop输出应该是 Stopping redis-server: redis-server检查它是否真的停止了 sudo service redis-server statusredis-server is not running接下来我们将重命名当前的数据库文件。 重命名当前的 dump.rdb Redis 从 dump.rdb 文件中读取其内容。让我们将当前的文件重命名为我们的恢复文件腾出空间。 sudo mv /var/lib/redis/dump.rdb /var/lib/redis/dump.rdb.old请注意如果您决定当前版本比您的备份文件更好您可以恢复 dump.rdb.old。 如果 AOF 已启用请将其关闭 AOF 跟踪每个写操作到 Redis 数据库。然而由于我们试图从时间点备份中恢复我们不希望 Redis 重新创建其 AOF 文件中存储的操作。 如果您按照 Redis 集群教程中的说明设置了 Redis 服务器则 AOF 已启用。 您还可以列出 /var/lib/redis/ 目录的内容。如果您在那里看到一个 .aof 文件那么您已经启用了 AOF。 让我们将 .aof 文件重命名暂时将其放在一边。这会将每个以 .aof 结尾的文件重命名因此如果您有多个 AOF 文件您应该单独重命名文件而不要运行此命令 sudo mv /var/lib/redis/*.aof /var/lib/redis/appendonly.aof.old编辑您的 Redis 配置文件暂时关闭 AOF sudo nano /etc/redis/redis.conf在 AOF 部分查找 appendonly 指令并将其从 yes 更改为 no。这将禁用它 appendonly no恢复 dump.rdb 文件 现在我们将使用我们的恢复文件如果您按照本教程的先前步骤进行操作该文件应该保存在 /home/sammy/redis/dump.rdb。 如果您要将数据恢复到新的服务器现在是从备份服务器上传文件到新服务器的时候了 scp /home/sammy/redis/dump.rdb sammyyour_new_redis_server_ip:/home/sammy/dump.rdb现在在恢复服务器上可以是原始的 Redis 服务器或者是新的服务器您可以使用 cp 命令将文件复制到 /var/lib/redis 文件夹 sudo cp -p /home/sammy/redis/dump.rdb /var/lib/redis如果您将文件上传到 /home/sammy/dump.rdb则使用命令 sudo cp -p /home/sammy/dump.rdb /var/lib/redis 来复制文件。 或者如果您想使用 rdiff-backup运行下面显示的命令。请注意这只适用于从您最初使用 rdiff-backup 设置的文件夹进行恢复。使用 rdiff-backup 时您必须指定目标文件夹中的文件名 sudo rdiff-backup -r now /home/sammy/redis/dump.rdb /var/lib/redis/dump.rdb有关 -r 选项的详细信息请参考本文末尾给出的项目网站。 为 dump.rdb 文件设置权限 如果您要将数据恢复到与备份相同的服务器那么您可能已经拥有了正确的权限。 如果您将备份文件复制到新的服务器您可能需要更新文件权限。 让我们查看 /var/lib/redis/ 目录中 dump.rdb 文件的权限 ls -la /var/lib/redis/如果您看到类似以下内容 -rw-r----- 1 sammy sammy 70 Feb 25 15:38 dump.rdb -rw-rw---- 1 redis redis 4137 Feb 25 15:36 dump.rdb.old您需要更新权限以便文件归 redis 用户和组所有 sudo chown redis:redis /var/lib/redis/dump.rdb同时更新文件以便组也可以写入 sudo chmod 660 /var/lib/redis/dump.rdb现在再次列出 /var/lib/redis/ 目录的内容 ls -la /var/lib/redis/现在您恢复的 dump.rdb 文件已经拥有了正确的权限 -rw-rw---- 1 redis redis 70 Feb 25 15:38 dump.rdb -rw-rw---- 1 redis redis 4137 Feb 25 15:36 dump.rdb.old启动 Redis 现在我们需要再次启动 Redis 服务器。 sudo service redis-server start检查数据库内容 让我们看看恢复是否成功。 登录到 Redis redis-cli检查 shapes:triangles 条目 GET shapes:triangles输出应该是 3 sides太棒了我们的恢复工作正常。 退出 exit如果您不使用 AOF那么您已经完成了您恢复的 Redis 实例应该已经恢复正常。 可选启用 AOF 如果您想要恢复或开始使用 AOF 来跟踪数据库的所有写操作请按照以下说明操作。AOF 文件必须从 Redis 命令行重新创建。 登录到 Redis redis-cli打开 AOF BGREWRITEAOF您应该会得到以下输出 Background append only file rewriting started运行 info 命令。这将生成大量输出 info滚动到Persistence部分并检查aof条目是否与此处显示的内容匹配。如果 aof_rewrite_in_progress 为 0则 AOF 文件的重新创建已经完成。 持久化 . . . aof_enabled:0 aof_rewrite_in_progress:0 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:0 aof_current_rewrite_time_sec:-1 aof_last_bgrewrite_status:ok aof_last_write_status:ok 如果确认AOF文件的重建已经完成现在可以退出Redis命令行custom_prefix(127.0.0.1:6379) exit您可以再次列出/var/lib/redis中的文件 ls /var/lib/redis您应该再次看到一个活动的.aof文件例如appendonly.aof或redis-staging-ao.aof以及dump.rdb文件和其他备份文件。 确认后停止Redis服务器 sudo service redis-server stop现在在redis.conf文件中再次启用AOF sudo nano /etc/redis/redis.conf然后通过将appendonly的值更改为yes来重新启用AOF appendonly yes启动Redis sudo service redis-server start如果您想再次验证数据库的内容只需再次运行检查数据库内容部分。 就是这样您恢复的Redis实例应该恢复正常了。 结论 按照本文所述的方式备份Redis数据适用于当您不介意将数据备份到同一台服务器上的目录时。 当然最安全的方法是将备份到不同的机器。您可以通过阅读以下关于备份的文章来探索更多备份选项 如何为您的VPS选择有效的备份策略 您可以使用许多这些备份方法与/var/lib/redis目录中的相同文件。
http://www.pierceye.com/news/13300/

相关文章:

  • 建设网站费用预算seo3分子的立体构型
  • 国家工信部网站备案查询广州网站建设技术外包
  • 网站怎么做才被收录快企业网站怎样做seo优化 应该如何做
  • 手机网站下拉刷新53建筑网官网
  • 大同招聘网站建设在网站后台可以修改网页的内容
  • wordpress企业仿站网站优化效果怎么样
  • 自然堂网站建设平台分析购物建设网站
  • 江都区城乡建设局网站马局长沙网络工程学院
  • 微信群二维码大全网站网站建设发布实训总结
  • 常州网站建设哪家好网站查备案密码
  • 网站建设遵循的原则是什么建设课程网站
  • 成都便宜做网站的昆明公司做网站的价格
  • 虚拟货币交易网站建设php做视频网站有哪些软件
  • 怎么找到网站后台搜索引擎优化论文
  • 电子商城网站设计实训报告如何创建一个免费网站
  • 检测WordPress网站的安全性wordpress设置权限设置
  • 网站代码关键词标题网站开发的知识
  • 网站多少钱seo1现在怎么看不了
  • 如何自己做购物网站12306网站开发过程
  • 山东省工程建设招标信息网站网站建设的部署与发布
  • 广告业网站开发最早做弹幕的网站
  • 网站建设维护文档网络推广引流方式
  • 影视网站的设计与实现海南公司网站建设哪家快
  • 校园网站建设计划书浙江省建设注册管理中心网站
  • 上海做网站比较有名的公司有哪些网站建设redu
  • 行知网站建设网站建设放电影怎么做
  • 寻找网站优化公司安徽省交通运输厅金良
  • asp.net 企业网站后台管理系统源码东莞企业网站哪家强
  • vue 做电商网站得物app公司
  • 做哪些网站不受法律保护百度收录收费 重大网站