月度归档:2014年09月

wordpress皮肤更新不丢失[百度]/[Google]统计跟踪代码

突然发现网站的流量变成零了,那个心痛和无语,除了泪就是泪。可是转念一想,最少还有我自己在访问,怎么会一个都没有呢,检查了下跟踪代码,还真的是丢失了。再看一下零访问开始的时间就了然了,最近wp升级到了4.0,更新了core和theme,所以丢失了theme中跟踪代码的设置。

为此找了款插件,插件的设置在更新中是会被保留的,所以不需要担心更新的问题。发现“Header and Footer”这款插件还不错,几十万的下载,功能够用了,它的原理就是把跟踪的代码在theme的wp_footer段添加进去,header也是同理。

用Automysqlbackup来备份你的数据库

为什么选择Automysqlbackup?

备份的重要性这里就不赘述了,为了保证网站长期可靠的运行,数据是摆在第一位的,所以第一个考虑的就是数据库的备份,出了任何问题可以快速的还原。针对网站的定位不同,备份的要求也不同,比如微博时时刻刻都有无尽的人在产生数据,那么备份就是一个可怕的工程,也只有这样大的公司才有人力去做。好在咱只要保证小站的苦心运营的数据能留下来,一天一次的备份就足够了,最好还能有一个可靠的地方长期保留每天的数据。这样就有两个需求,一个是本地备份,除了速度很快外在有问题时恢复也很方便缺点是空间有限,存储的备份版本有限,那么另一个需求就是为了满足无限的备份需求,这个时候gmail就出场了,这哥们太牛了,容量是不停的增长的,咱的数据压缩后每天也就增加几k的容量,目前远低于它的增长速度,所以邮件备份是不二的选择。而满足这些,又能提供丰富配置,并且使用简单而轻量级的莫过于仅仅是脚本的automysqlbackup了。

功能描述 Description
AutoMySQLBackup with a basic configuration will create Daily, Weekly and Monthly backups of one or more of your MySQL databases from one or more of your MySQL servers.

Other Features include:
– Email notification of backups (会有email通知)
– Backup Compression and Encryption (使用压缩和加密)
– Configurable backup rotation (保存的备份文件时间)
– Incremental database backups (增量型备份)

1.下载AutoMySQLBackup

http://sourceforge.net/projects/automysqlbackup/

2.解压缩

把下载的automysqlbackup-v3.0_rc6.tar.gz文件拷贝到/usr/tmp下面

在/usr/local下面新建一个automysqlbackup文件夹,并进入这个文件夹

cd /usr/local

mkdir automysqlbackup

cd automysqlbackup

然后terminal解压缩一下。

tar -xzvf /usr/tmp/automysqlbackup-v3.0_rc6.tar.gz

3. 安装

安装一下,命令为

./install.sh

中途会有两个询问配置文件安装目录的地方,之间回车就好

安装完以后会有提示信息,告诉你如果不是当前用户下使用这个命令要怎么办

4.修改配置文件

我们要用到的是automysqlbackup.conf文件:

文件里有一些基本的配置信息,比如连接mysql server的用户名、密码、IP地址神马的。

# Username to access the MySQL server e.g. dbuser
CONFIG_mysql_dump_username='root'

# Password to access the MySQL server e.g. password
CONFIG_mysql_dump_password='1234'

# Host name (or IP address) of MySQL server e.g localhost
CONFIG_mysql_dump_host='localhost'

继续,有个重要的配置,就是backup存放的地方咯!

# Backup directory location e.g /backups
CONFIG_backup_dir='/var/backup/db'

往下看,还有你要配置的database的名称,当然可以精确到表名,也可以只指定到database的名称。或者干脆直接留空,不过留空的话会默认备份所有的数据库……这样磁盘可能会爆炸吧……

# Databases to backup

# List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... )
# set to (), i.e. empty, if you want to backup all databases
CONFIG_db_names=()
# You can use
#declare -a MDBNAMES=( "${DBNAMES[@]}" 'added entry1' 'added entry2' ... )
# INSTEAD to copy the contents of $DBNAMES and add further entries (optional).

# List of databases for Monthly Backups.
# set to (), i.e. empty, if you want to backup all databases
CONFIG_db_month_names=()

# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'wiqun' )

另外,还有配置weekly、monthly、daily之类的时间间隔的设置

# Rotation Settings

# Which day do you want monthly backups? (01 to 31)
# If the chosen day is greater than the last day of the month, it will be done
# on the last day of the month.
# Set to 0 to disable monthly backups.
CONFIG_do_monthly="22"

# Which day do you want weekly backups? (1 to 7 where 1 is Monday)
# Set to 0 to disable weekly backups.
CONFIG_do_weekly="7"

# Set rotation of daily backups. VALUE*24hours
# If you want to keep only today's backups, you could choose 1, i.e. everything older than 24hours will be removed.
CONFIG_rotation_daily=7

# Set rotation for weekly backups. VALUE*24hours
CONFIG_rotation_weekly=35

# Set rotation for monthly backups. VALUE*24hours
CONFIG_rotation_monthly=150

前两个都比较好理解,就是每个月或者每一周的什么时候进行自动备份,如果不想使用每周备份或者每月备份的话,相应的地方设置0即可。那么后面的rotation又是什么意思呢?其实就是日志保存的期限啦。

比如说CONFIG_rotation_weekly=35的意思就是说按周存储的备份最多保留35天。

再继续,可以配置发送邮件的一些配置,比如邮件地址啦、还有附件的内容啦。

# What would you like to be mailed to you?
# - log   : send only log file
# - files : send log file and sql files as attachments (see docs)
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
CONFIG_mailcontent='files'

# Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])
CONFIG_mail_maxattsize=4000

# Allow packing of files with tar and splitting it in pieces of CONFIG_mail_maxattsize.
CONFIG_mail_splitandtar='yes'

# Use uuencode instead of mutt. WARNING: Not all email clients work well with uuencoded attachments.
#CONFIG_mail_use_uuencoded_attachments='no'

# Email Address to send mail to? (user@domain.com)
CONFIG_mail_address='elarwei@gmail.com'
5. 运行Automysqlbackup

要运行automysqlbackup之前呢,不要忘了先新建我们存放备份数据库文件的地方,即在配置文件中设定的“/var/backup/db”,现在我们来新建这个目录。

mkdir /var/backup

mkdir /var/backup/db

好了,现在我们可以run一下automysqlbackup了。命令是:

automysqlbackup /etc/automyslqbackup/automysqlbackup.conf

噔噔,怎么报错了呢?

Parsed config file "/etc/automysqlbackup/automysqlbackup.conf"

# Checking for permissions to write to folders:
base folder /var/backup ... exists ... ok.
backup folder /var/backup/db ... exists ... writable? yes. Proceeding.
/usr/local/bin/automysqlbackup: line 139: mutt: command not found

好吧,有事问Google。

sourceForge上果然也有人遇到过这个问题……,解答是

Please set CONFIG_mailcontent='stdout' in your config file and try again from your console.
 The output should directly be displayed. 
It seems some error occured before the check for config variables could determine 
whether there is a need for checking if mutt (mail program) is installed and can be used. 
Therefore the error handler tried to mail the errors using mutt (your configuration choice), which isn't there.

大 意就是说在配置文件里面使用了发送email来报告error这个东东,但是你的机子上却没安装mutt这个程序,所以在检测配置的时候就发生了错误。解 决的方法是把报错改成“stdout”,不过如果改成“stdout”不就失去了我们发送报告到email 的本意了吗……so,我们安装一下mutt这个程序好了。

(PS:如果不使用发送邮件则不需要这个步骤)

5.1 安装mutt

命令是

apt-get install mutt

安装完了以后我们再重新run一下automysqlbackup。

6. 设定Cron Job

Cron 是一个可以让系统定时运行后台脚本的工具。

6.1 编写可执行脚本

我们在/usr/local/bin目录下编写一个要定时执行的脚本

#!/bin/sh
/usr/local/bin/automysqlbackup /etc/automysqlbackup/automysqlbackup.conf

保存为backupscript.sh

然后改变其模式为root可以执行、读写的方式

chmod 744 /usr/local/bin/backupscript.sh

6.2 将可执行脚本加入定时任务中

先使用命令

crontab -l

看一下现在cron中的定时程序有哪些。

如果提示“no crontab for root”的话,说明root用户下现在还没有定时任务。我们可以新建一个文件,用来配置root用户下的定时任务。

vi root-conf

然后在vi中输入

0-59/10 * * * * /usr/local/bin/backupscript.sh

意思是每十分钟执行一下备份脚本程序(比较夸张啦,为了能在短时间内看到比较多备份的结果,一般都是设定某一天的一个时刻来执行)然后保存退出。

接着,使用命令

crontab -u root root-conf

来将刚才编辑的文件作为root下的定时任务列表文件。这样再键入crontab -l命令时,就可以查看到我们刚才设定的定时任务了。另外,使用crontab -e命令可以编辑我们的定时任务。具体的设定时间的方法可以看Kaixuan的这篇文章《Linux下使用crontab来执行定时任务计划》。

 

7.查看备份结果

我们进入备份的目录看一下有什么变化

cd /var/backup/db/daily

ls

Reference

How to do Painless MySQL Server Backups with AutoMySQLBackup

淘宝图片尺寸-最佳尺寸

收集了各种资料,可以找找看有需要的

1.商品图片的尺寸:宽500*高500像素,大小在120KB以内,要求JPG或GIF格式,到发布宝贝页面上上传图片。最好大于312*310px 2.店标图片的尺寸:宽100*高100像素,大小在80K以内,支持JPG或GIF格式,动态或静态的图片均可。上传步骤:“管理我的店铺”-“基本设置”-“店标”-“浏览”-“确定”

3.宝贝描述图片的尺寸:没有特殊要求,可根据需要宽500*高500像素,大小在100K以内,这样图片的打开速度较快。要求JPG或GIF格式,静态或动态均可。将图片上传到电子相册,再复制到商品页面中去。

4.公告栏图片的尺寸:宽不超过480像素,长度不限制,大小在120KB以内GIF或JPG格式,动态或者静态均可。上传“管理我的店铺”-“基本设置”-“公告栏”-“确定”。

5.宝贝分类图片尺寸:宽不超过165,长度不限制,大小在50KB以内,要求GIF或JPG格式,动态或者静态均可,先将图片上传到电子相册得到一个缩短网址后进入“管理我的店铺”-“基本设置”-“宝贝分类”

6.旺旺头像图片尺寸:宽120*高120像素,大小在100KB以内,格式为JPG或GIF,动态或者静态均可。

7.论坛头像图片尺寸:最大为宽120*高120像素,大小在100KB以内,GIF或者JPG格式,动态或者静态图片均可。上传方法“我的淘宝”-“个人空间”-“修改资料”-“上传新头像”。

8.论坛签名档图片尺寸:宽468*高60像素,大小在100KB以内,JPG或者GIF格式,动态或者静态均可,上传“我的淘宝”-“个人空间

 

淘宝店铺装修最佳尺寸 普通店铺

1.店标 大小:100*100px <=80k 代码:无(图片做好后直接上传) 格式:jpg、gif 设置:管理我的店铺—基本设置—店标—浏览—选择本地做好店标文件

2. 店铺公告尺寸:320*400

3.宝贝分类尺寸:88*88和88*30(宝贝分类含3个)

4.店铺介绍尺寸:600*450

5.计数器尺寸:137*94

6.论坛签名尺寸:468*60

7.店标尺寸:100*100

8.旺旺名片/头像 大小:120*120px <=100k 代码:无(图片做好后直接上传) 格式:jpg、gif

9、宝贝图片 大小:500*500px <=120k 代码:无(图片做好后直接上传) 格式:jpg、gif 旺铺 1.店招 大小:950*150px <=80k 代码:无(图片做好后直接上传) 格式:jpg、gif、png 2、旺铺促销区 大小:宽度<=735px,高度无限制 代码:<img src=”店铺公告地址”/>(图片必须放置在网络空间或网络像册,没有可以先申请一个,需支持宝淘外链的) 格式:jpg、gif、html、文本

3、旺铺宝贝描述 大小:宽度<=722px(窄),宽度<=922px(宽),高度随意 代码:<img src=”店铺公告地址”/>(图片必须放置在网络空间或网络像册,没有可以先申请一个,需支持宝淘外链的) 格式:jpg、gif、html、文本 普通店铺的宝贝描述尺寸大小没有什么限制,但考虑到显示器的显示尺寸,应掌握在1000PX以下。

4、宝贝分类 大小:宽度<=160,高度随意 代码:<img src=”宝贝分类地址”/>(图片必须放置在网络空间或网络像册,没有可以先申请一个,需支持宝淘外链的) 格式:jpg、gif(地址不要超过40个字符)

5、背景音乐 代码:<BGSOUND balance=0 src=”音乐地址” volume=0 loop=”infinite” ></BGSOUND> 格式:最好为WMA 设置:管理我的店铺—基本设置—公告

6、悬挂饰物 代码:<img src=”图片地址” style=”left:20px;position:relative;top:0px;”> 格式:同上,须放置在网络空间或网络像册中的图片 设置:管理我的店铺—基本设置—公告

7、论坛签名 大小:468*60px <=100k 代码:无(图片做好后直接上传) 格式:jpg、gif 未标明的部分同普通店铺

让wordpress的版本和插件支持自动更新

发现周围用WP的很多都不知道它本身就是支持自动更新的,不需要手动上传那么麻烦。这个也归咎于wp在安装时应该引导用户设置正确的文件夹权限,wp要自我更新必须要有更改自己文件夹的权限,也可能因为这个权限比较高,为了规避风险没有提示用户这么干,但咱是懒人,没有更新到新版的wp可能本身就是一个大的风险。

https://wordpress.org/support/topic/folder-permission-on-linux-ubuntu

如果你很懒,可以把整个网站设置为www-data

比如:chown -R www-data:www-data /yourwebsite

如果只是想支持插件更新,也可以只修改wp-content的权限

比如:chown -R www-data:www-data /yourwebsite/wp-content