标签: python

如何在 mysql 数据库的增量备份中创建

我有 linuxcentos 6.4服务器mysql5.6

我有一个像这样每小时进行 mysql 数据库备份的 cron 工作

它在蟒蛇

os.popen("mysqldump -u %s --password=%s -h %s -e --opt --skip-lock-tables  --skip-extended-insert -c %s | gzip -c > %s.gz" % (username, password, hostname, database, filename))
Run Code Online (Sandbox Code Playgroud)

问题是很少有数据被更改,但每次我必须备份所有数据库 24 次,这会占用太多空间。

什么是最好的选择

有什么方法可以进行增量备份,以便我每周对数据库进行 1 次完整备份,然后只进行增量备份。

我想为单独的数据库使用单独的文件,以便如果我需要恢复单个数据库,那么我也可以这样做

mysql linux python database centos

2
推荐指数
1
解决办法
3285
查看次数

如何使用 Ansible 对特定任务的用户进行身份验证?

尝试使用 apt 在 playbook 中安装某些依赖项时,我收到“msg:无法锁定 apt 以进行独占操作”,而 vagrant 用户。我怀疑它告诉我这个是因为它在运行任务时无法验证 vagrant 用户。

这是我正在使用的角色声明。

- name: ruby installer
  hosts: all
  sudo: True
  sudo_user: vagrant
  roles:
  - ruby
Run Code Online (Sandbox Code Playgroud)

这是失败的任务:

    - name: Install ruby building dependencies
      apt: name={{ item }} 
           state=installed 
           update_cache=yes

      with_items:
      - dependency
Run Code Online (Sandbox Code Playgroud)

当删除“update_cache=yes”并重新运行剧本时,我得到:E:无法锁定管理目录(/var/lib/dpkg/),你是 root 吗?

显然,当用 root 运行它时它工作得很好,但由于一些 ruby​​(rvm,rbenv 特定)任务,我需要它在不同的用户下运行,而不是 root。

运行我的剧本时如何正确验证流浪用户?有人可以指出我正确的方向吗?

python configuration ansible

2
推荐指数
1
解决办法
3434
查看次数

AWS RDS Postgres 性能问题

我们使用实例类型为 db.m4.2xlarge 的 rds(postgres)。

通常大多数时候连接数是8-10。但在某些情况下随着连接数增加到100-200。DB 变得无响应。在数量或读取连接突然激增的情况下,我们多次看到数据库无响应(因此即使连接从 10 增加到 100)。

正在执行的查询最多需要 2 秒才能执行。

我的应用程序服务器在 django/python 堆栈上运行(使用 Gunicorn)。当数据库服务器响应时间增加时,这些服务器的延迟会变高。

为了提高性能,我们应该对 postgres rds 的配置进行任何更改(目前大多数设置都是默认的)?

postgresql python django amazon-web-services

2
推荐指数
1
解决办法
5084
查看次数

Duplicity 0.7.10 在 Ubuntu 14.04 中升级 librsync 后失败

我花了几个小时尝试配置Duplicity以对 Google Drive 执行自动远程备份。在这一点上,可以肯定地说我正处于自己的私人依赖地狱中。

使用我的发行版 (0.6.x) 附带的 Duplicity 版本,我收到一个错误:

BackendException:Google Docs 后端需要 Google 数据 API Python 客户端库(请参阅http://code.google.com/p/gdata-python-client/)。

尽管我安装了 Google API Python 客户端。所以,我决定尝试升级双重性,但失败了:

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c duplicity/_librsyncmodule.c -o build/temp.linux-x86_64-2.7/duplicity/_librsyncmodule.o
duplicity/_librsyncmodule.c:26:22: fatal error: librsync.h: No such file or directory
 #include <librsync.h>
                      ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

因此,我决定也尝试升级librsync到最新的稳定版本 (2.0)。在为那个依赖而苦苦挣扎之后,我终于得到了两者librsyncduplicity更新到他们最新的稳定版本。

因此,当我使用 给我的 Duplicity 升级版本进行旋转时duplicity --version,我现在立即收到 …

ubuntu installation python dependencies duplicity

2
推荐指数
1
解决办法
2608
查看次数

每 24 小时运行一次 cron 并立即启动

我想每 24 小时运行一次 python 脚本,每 23:59:58 我想终止这项工作。我想立即运行python。因此我在下面使用这个语法

* */24 * * * cd /ftp/ftp1 && timeout -s 9 86398 python2.6 lpr_10.10.252.121.py 10.10.252.121 450 >> res_10.10.252.121.txt
Run Code Online (Sandbox Code Playgroud)

但是在 cron 日志上,他们的脚本没有运行。我试着/etc/rc.d/init.d/crond restart

这是日志cron

May 18 10:13:45 cisco-cumc crontab[31368]: (root) REPLACE (root)
May 18 10:13:45 cisco-cumc crontab[31368]: (root) END EDIT (root)
May 18 10:14:01 cisco-cumc crond[5090]: (root) RELOAD (/var/spool/cron/root)
May 18 10:15:24 cisco-cumc crontab[31449]: (root) BEGIN EDIT (root)
May 18 10:15:42 cisco-cumc crontab[31449]: (root) REPLACE (root)
May 18 10:15:42 cisco-cumc crontab[31449]: (root) END …
Run Code Online (Sandbox Code Playgroud)

python cron centos6

2
推荐指数
1
解决办法
2万
查看次数

如何在远程服务器中使用ansible将两个文件合并为单个文件

我需要合并两个文件,其中没有重复的条目。有什么方法可以通过 ansible 模块实现它吗?例如,我有两个文件 /etc/hosts1 和 /etc/hosts2。我需要一个 /etc/hosts 文件,其中包含 /etc/hosts1 和 /etc/hosts2 中存在的所有条目,并且没有重复的条目。我怎样才能做到这一点。举个例子将不胜感激

- name: Merge two files
  assemble:
    src: /etc/hosts1
    dest: /etc/hosts2
Run Code Online (Sandbox Code Playgroud)

上述汇编模块失败

python copy ansible ansible-playbook jinja2

2
推荐指数
1
解决办法
1万
查看次数

使用 jinja 在 Ansible 中动态创建列表

我需要动态设置一个新的列表类型变量list var。

这是一个基本的剧本示例:

  vars:
    app_instances:
      - host_name: host1-domain
        inst_count: 3
      - host_name: host2-domain
        inst_count: 1
      - host_name: host3-domain
        inst_count: 1

  tasks:
    - set_fact:
        instance_config: >-
          {% set inst_config = [] %}
          {% for inst in app_instances %}
            {% for inst_num in range(inst.inst_count) %}
              {% set node_number = inst.host_name.split('-') | first | replace('host', '') %}
              {% set host_name = "host_name" %}
              {% set host_num = "host_num" %}
              {% set inst_name = "inst_name" %}
              {% set node_conf = { host_name: inst.host_name, host_num: …
Run Code Online (Sandbox Code Playgroud)

python ansible ansible-playbook jinja

2
推荐指数
1
解决办法
1万
查看次数

Web 服务器上的 cron 作业

我将如何告诉我的 Web 服务器(Webfaction)只运行一个 python 文件并让它永远运行?有人告诉我我应该使用,cron但我还没有找到任何关于如何运行一次并让它不停下来的好材料。

python web-server cron

1
推荐指数
1
解决办法
1436
查看次数

Amazon EC2 + S3 + Python + Scraping - 最便宜的方法?

我利用了亚马逊的 AWS 产品,如果我想得对,请从高层次解释这一点。

所以我的本地机器上几乎没有 Python 抓取脚本。我想使用 AWS 实现超快速的互联网连接和更便宜的价格 - 赢/赢!

  • 我知道我可以在 EC2 上部署 centOS/Ubuntu 实例。安装必要的 Python 库。使用 boto (Python) 启动和停止实例以节省成本。到目前为止我的想法正确吗?(可行吗?)

  • 我将 CRON 一些脚本,这些脚本将开始获取(抓取)HTML 文件以供稍后解析。所以这些 HTML 文件被复制到 S3 进行存储(或者我应该将它们转储到我的本地机器,因为这是我将在 MySQL 中解析和存储的方式?)。

请告知我的假设和我对 AWS 的几小时阅读/谷歌搜索的了解是否有意义。

linux python scraping amazon-ec2 amazon-web-services

1
推荐指数
1
解决办法
5046
查看次数

Python 应用服务器和 Web 服务器共存?

我有一个站点 example.com,它运行在一个“正常”的 Web 服务器上,即目前的 Apache,但希望在未来寻找一个不太占用 RAM 的替代方案,所以我不想在 apache 上使用 mod_WSGI。

很快,我将寻求部署一个用完 python 应用程序服务器的 Web 应用程序。我希望这能回答对 example.com/reallycoolpythonwebapp/ 的所有请求,而 Web 服务器负责其余部分。

这样的架构是如何创建的?我是否希望指向相关在线文档的指针表示赞赏。

python web-server fastcgi wsgi apache-2.2

1
推荐指数
1
解决办法
1914
查看次数