小编dsp*_*els的帖子

如何备份django db

我有一个使用Postgres数据库的Django应用程序.我需要能够备份和恢复数据库,以确保没有数据丢失,并且能够在测试期间将数据从生产服务器复制到开发服务器.

似乎有几种不同的方法可以做到这一点:

  1. 只需直接与db交互.因此,对于Postgres,我可能会使用pg_dumpall和编写脚本psql.

  2. 使用Django 附带的sqlclear/ sqlall命令.

  3. 使用Django 附带的dumpdata/ loaddata命令.因此,从要备份的db创建新的fixture,然后将它们加载到要还原的db中.

  4. 使用Django插件,如django-dbbackup.

我真的不明白这些不同技术的优点/缺点.

刚刚开始:选项1是特定于数据库的,选项3似乎更适合设置初始数据.但我仍然不确定选项4对选项2的优势.

django database-restore database-backups

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

在python中处理tcpdump输出

我试图在python中处理tcpdump输出.

我需要的是运行tcpdump(捕获数据包并给我信息)并读取输出并处理它.

问题是tcpdump一直在运行,我需要在输出后立即读取数据包信息并继续执行.

我试着查看python的子进程并尝试使用popen调用tcpdump并管道stdout但它似乎没有用.

关于如何进行此操作的任何指示.

import subprocess

def redirect():
    tcpdump = subprocess.Popen("sudo tcpdump...", stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
    while True:
        s = tcpdump.stdout.readline()
        # do domething with s

redirect()
Run Code Online (Sandbox Code Playgroud)

python subprocess popen tcpdump

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

在JavaScript中复制php openssl_encrypt

我正在尝试使用JavaScript复制PHP字符串加密.这是PHP代码:

<?php

$iv = "1234567890123456";
$key = "aaaaaaaaaaaaaaaa";
$input = "texttexttexttext";

$encrypted = openssl_encrypt($input, "AES-256-CBC", $key, 0, $iv);

echo $encrypted;
// "ZwY1i+vqP3acszeDiscCTx/R4a6d2AtkcInmN9OTCNE="
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在JavaScript中复制它时,它会提供不同的密文:

var aesjs = require("aes-js");
var base64 = require("js-base64");

var iv = aesjs.utils.utf8.toBytes("1234567890123456");
var key = aesjs.utils.utf8.toBytes("aaaaaaaaaaaaaaaa");
var text = aesjs.utils.utf8.toBytes("texttexttexttext");

var aesCbc = new aesjs.ModeOfOperation.cbc(key, iv);
var encryptedBytes = aesCbc.encrypt(text);

var b64encoded = base64.Base64.encode(encryptedBytes);

console.log(b64encoded);
// "MTcyLDIsNjAsMTU5LDcxLDEwLDE4Myw4LDE…wyMTIsMjIyLDk3LDEyNCw1MywxNzIsMjIy"
Run Code Online (Sandbox Code Playgroud)

我不知道如何让它给出相同的输出.有任何想法吗?

javascript php encryption aes

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