如何备份postgresql数据库


对于网站来说数据无疑是最重要的,而养成备份数据的习惯更加重要, 忽然想到一句经典台词

曾经有一份数据摆在我的面前,
可我没有备份,
直到数据丢失后才后悔莫及,
人世间最痛苦的事莫过于此,
如果上天能给我一次再来一次的机会,
我会对那份数据说五个字:我要备份你,
如果非要在这份备份上加一个期限,我希望是每天!

进入主题,这只是对数据进行简单的备份

怎么备份数据

shell脚本

#!/bin/bash

backup_time=`date +%Y%m%d`
pg_dump articledb > /home/xxx/backup/article_$backup_time.sql
# articledb是要备份的数据库名称
echo "backup finished"

保存为backup_db.sh
注意
xxx是数据库用户,并且是super权限
可以这样

$ sudo -i -u postgres
$ [sudo] xxx 的密码:
postgres~ $ createuser xxx --interactive 
# 创建数据库用户,我的是archlinux,不同系统可能有所不同

定时备份数据

crontab -e

输入

0 22 * * * /home/xxx/backup …

为网站启用https并增加ssl证书


HTTPS和HTTP的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。 HTTPS和HTTP的区别主要为以下四点:

  • https协议需要到ca申请证书,一般免费证书很少,需要交费。
  • http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

申请ssl证书

对于像我这样的穷学生或者不希望花钱的同学可以使用startssl免费ssl证书
当然如果可以,最好购买ssl证书,安全性上更有保障

对于怎么申请startssl免费证书这里不多说,网上很多教程,其中有几点是我在申请中遇到的问题,希望对大家有所帮助
* 在进行域名验证时不论如何startssl搜索不到我的域名注册邮箱,我已将whois保护关闭后还是一样
解决办法:一个不是办法的办法,因为我在qq邮箱使用了域名邮箱,所以我将域名邮箱管理员[email protected] 更改为[email protected],然后发送验证邮件到该邮箱对域名进行验证

  • 如何导出公钥
    如果申请成功,在Tool Box点击Certificate List,Action中选择Retrieve导出zip包到本地, 在本地解压就会发现里面有对应服务器类型的crt证书 …

vim操作及配置


vim号称编辑器之神,最近也一直使用vim写代码,最大的印象就是快,无论是临时修改文件,还是专门写代码.现在记录vim主要操作快捷键和我的vim配置

vim操作

一、移动光标

  1. 左移h、右移l、下移j、上移k
  2. 向下翻页ctrl + f,向上翻页ctrl + b
  3. 向下翻半页ctrl + d,向上翻半页ctrl + u
  4. 移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^
  5. 移动光标到下一个句子 ),移动光标到上一个句子(
  6. 移动到段首{,移动到段尾}
  7. 移动到下一个词w,移动到上一个词b
  8. 移动到文档开始gg,移动到文档结束G
  9. 移动到匹配的{}.().[]处%
  10. 跳到第n行 ngg …

I Have Not Loved the World


I have not loved the world, nor the world me;
I have not flatter'd its rank breath, nor bow'd
To its idolatries a patient knee, --
Nor coin'd my cheek to smiles, -- nor cried aloud
In worship of an echo; in the crowd
They could not deem me one of such; I stood
Among them, but not of them; in a shroud
Of thoughts which …

辩证法与放屁


第一堂课:

上课时,我放了一个屁——很普通的屁。既不很臭,当然也绝对不香。
可怕的是,教授正在讲辩证法。
“请你自己对这个屁作一下判断,”教授说,“它好还是不好?”
我只得说:“不好。”
“错了,”教授说,“任何事物都有矛盾组成,有它不好的一面,肯定有它好的一面。”
“那么说它好也不对了?”我问。
“当然。”教授说。
“它既好又不好。”
“错了。你只看到矛盾双方对立斗争的一面,没有看到他们统一的一面。”
我只好认真看待这个严肃的问题,仔细想了想说:“这个屁既好又不好,但不好的一面是主要的,处于主导地位。”
“错了。你是用静止的观点看问题。矛盾的双方会相互转换,今天处于主导地位一面,明天一定处于次要地位。”
“你是说明天全人类会为了我的这个屁欢呼雀跃吗?”
“不尽如此,但不能否认这种发展趋势”
我愣了好大一会儿,只得硬着头皮说:“我的屁既好又不好,既不好又好。今天可能不好,明天一定会好。今天可能很好,明天也许会不好.”
教授听得直摇头,说:“这是彻底的怀疑论,不是辩证法的观点。”
就这样,仅仅因为放了一个屁,我就成了一个怀疑论者。
教授接着讲课:“辩证法的威力不仅在于能够轻而易举地驳斥任何观点,而且他能够轻易地为任何观点找到理论根据。”
“可是我的屁就没有任何根据。”我抗议道。
“那是因为你没有找到,其实很简单,它是你肚子里矛盾双方对立统一的必然结果。”
我哑口无言。
教授说 …

无题


记录一下随手写的诗,或者也不算诗
1. 大漠孤烟无边关
地上重楼忘记人
天涯海角难磨灭
怎奈何

这里有两句类似候补的最后一句
+ 夜迹血月怎奈何
+ 万千奴隶怎奈何

不想说明当时是怎样的心境,毕竟当时的心境是没有办法重来的

2. 星空太美,手机拍不了也放不下,
只能放在记忆里,看不清也摸不着,
最后只能慢慢流逝,留不了也抓不到

3. 焚舟破釜天,
唯命弃我岸上前,
惘顾神州情碎,
山水一念,
勿镜天下红尘,
在人间

flask学习笔记——3


好久没有写东西的,主要是最近在用flask写一个网站,由于写前端界面时为了让UI好看一点,搞得自己晕头转向,方向都错了,在此期间也遇到很多问题,虽然绝大部分已经解决了,但是还有很多没有解决。其实,做一个项目是最能检验能力的。

中文网站链接编码

如果访问一个含中文字符的网站,很大可能会提示错误

import urllib
urllib.parse.quote(url)

一些vim插件的使用方法


关于一些vim插件的使用方法,vim插件多,快捷键也多,记录一下

tpope/vim-surround

光标在

"Hello world!"

中时按下 cs"' ,则会替换双引号为单引号:

'Hello world!'

继续按下 cs' ,则会替换单引号为 标签

<q>Hello world!</q>

按下 cst" ,则回到初始的双引号:

 "Hello world!"

要删除符号,则按下 ds"

Hello world!

当光标在hello上时,按下 ysiw] ,则会变为

[Hello] world!

这个操作为其加上了包围符号。

总结:

1.删除包围符号的命令是 ds ,后面加的字符表示要删除的符号。比如:

"Hello *world!" ds" Hello world!

2.替换包围符号的命令是 cs ,命令后跟两个参数,分别是被替换的符号和需要使用的符号。比如

"Hello *world!" cs"' 'Hello world!'

3.添加包围符号的命令是 ys …

使用pelican搭建个人博客


pelican介绍

Pelican是一个用Python语言编写的静态网站生成器,支持使用restructuredText和Markdown写文章,配置灵活,扩展性强

pelican安装

$ sudo pip install pelican

安装markdown

$ sudo pip install markdown

pelican使用

工具准备好了,接下来就开始使用

$ cd git
$ mkdir pelican  #建立一个文件夹(位置和名称随意,自己记得就行)
$ cd pelican
$ pelican-quickstart

显示 (也可以直接回车默认)

Welcome to pelican-quickstart v3.4.0.

This script will help you create a new Pelican-based website.

Please answer the following questions so this script can generate the files
needed by Pelican.


> Where do you …

centos搭建shadowsocks服务端


1.安装必要组建

# yum inst

刚搭建好,记录下来,用的是centos

1.安装必要组建

# yum install build-essential autoconf libtool openssl-devel gcc -y

2.安装git

# yum install git -y 
# git --version #安装完后查看版本

3.下载shadowsocks-libev源码包并且编译安装

$ git clone https://github.com/madeye/shadowsocks-libev.git
$ cd shadowsocks-libev
$ ./configure 
# make && make install

.配置shadowsocks

# nohup /usr/local/bin/ss-server -s IP地址 -p 端口 -k 密码 -m 加密方式 &

注:ip地址为当前服务器ip,端口随意,加密方式建议为aes-256-cfb

5.加入开机启动

# echo "nohup …