mplayer播放参数与设置

一. mplayer双字幕设置

直接将中英字幕文件合并成一个文件即可,即可直接用于双字幕mplayer播放。

$ cat my_film.chs.srt my_film.eng.srt > my_film.srt
$ mplayer -ass my_film.mkv -sub my_film.srt
当中文字母加载出现乱码,使用 -ass 参数。

二. mplayer播放调节参数

1. 字幕参数:

x 和 z
    调整字幕延迟增加/减少 0.1 秒
r 和 t
    上/下调整字幕位置
v
    关闭或打开字幕
j
    切换字幕,对应的字幕位于视频同一目录下并文件名一致

2. 声音参数:

+ 和 -
    调整音频延迟增加/减少 0.1 秒
/ 和 *
    降低/提高音量
9 和 0
    降低/提高音量
m
    静音开关
#
    循环可用的音轨

3. 播放控制参数:

左方向键 和 右方向键
    后退/快进 10 秒钟
上方向键 和 下方向键
    快进/后退 1 分钟
pgup 和 pgdown
    快进/后退 10 分钟
[ 和 ]
    减少/增加当前播放速度 10%
{ 和 }
    减半/加倍当前播放速度
p / SPACE
    暂停 (再按取消暂停)
q / ESC
    停止播放和退出

4. 屏幕参数

f
    切换全屏
T
    切换置顶
o
    循环OSD状态:即显示播放计时
P
    在 OSD 上显示进度条、已播放时间以及总长度信息

mail的使用

1. mail的使用使用的是mail命令,或mailx命令。

使用 which mail 查看到mail命令的所在,发现其实是指向 mailx 命令。
使用参数:

-s subject
    邮件的标题。若标题有空格,则需要使用引号。
-a attachment
    将目标文件作为附件发送。若有多个附件需要发送,则使用多个该参数。
-c address
    抄送副本到邮件地址列表。这些邮件地址使用逗号分隔。抄送的邮件地址和收件人地址能
被所收件地址看到。
-b address
    暗送的邮件地址列表。这些邮件地址使用逗号隔开。暗送的邮件地址不能被其收件地址看
到。故mail命令不能将邮件分别发送到邮件地址列表。

使用方法:

$ mail -s "a e-mail subject" -a ./test.tar.gz chenllianfu@foxmail.com < mail_content
$ cat mail_content | mail -s "a e-mail subject" -a ./test.tar.gz chenllianfu@foxmail.com
$ echo "mail_content" | mail -s "a e-mail subject" -a ./test.tar.gz chenllianfu@foxmail.com
$ mail -s "a e-mail subject" -a ./test.tar.gz chenllianfu@foxmail.com
input
EOT

2. 提高默认允许的附件大小

If you get the message:

postdrop: warning: uid=500: File too large
sendmail: fatal: : message file too big

You can fix this bij editing /etc/postfix/main.cf and add:

message_size_limit = 52428800

(example creates a limit of 50Mb)

tar命令的使用

tar命令主要用来对数据进行压缩和打包。其常用的参数有:

-C | --directory=DIR
    改变目录至DIR。在打包过程中,不指定此参数,则压缩包可能会包含很长很长的路径,解
压后会生成一长串的文件路径。
--remove-files
    在添加文件至归档后,然后再删除这些备份过了的文件,以节约磁盘空间。
-f | --file=ARCHIVE
    生成的归档文件。将生成的归档文件指定到具体的路径和名称,与 -C 参数无关。
-c | --create
    创建一个新的归档。
-x | --extract
    从归档中解出文件。
-t | --list
    列出归档卷标。
-z | --gzip,--ungzip
    通过gzip来过滤归档
-j | --bzip2
    通过bzip2来过滤归档
-J | --xz
    通过xz过滤归档
-Z | --compress, --uncompress
    通过compress过滤归档

WordPress的更新和备份

一、WordPress的更新

1. 手工方法

此方法将主机wordpress文件夹的所有内容全部删除;然后下载最新版的wordpress,解压后,直接将文件夹更名为主机的wordpress文件夹;最后重新配置wordpress。

# wget http://cn.wordpress.org/wordpress-3.5.1-zh_CN.tar.gz
# tar zxvf wordpress-3.5.1-zh_CN.tar.gz
# rm wordpress_chenlianfu/ -rf
# mv wordpress/ wordpress_chenlianfu/
# chown -R apache:root wordpress_chenlianfu/
输入wordpress网址,然后重新填写数据库信息和表信息。然后更新数据库,即可能更新Word
Press。

当然,此方法可以保留wordpress文件夹的 wp-config.php 文件,这样就不需要重新配置数据库了。也可以保留 wp-content, 这样就可以保留主题和附件等。

2. 控制台更新

自动更新需要各种权限,端口设置。出现了这种情况则使用手工更新可靠。
直接在控制台的更新中点击更新即可。

二、 WordPress的备份

1. 直接手动备份数据库文件

直接将mysql数据库中的相应的表文件复制备份一份。设置定时备份到指定位置。同时,将备份的压缩包发送到指定的电子邮箱进行备份。

# crontab -e
写入一些例行性工作排程:

0	0,12	*	*	*	/root/bakup_wordpress_mysql.sh

#vim /root/bakup_wordpress_mysql.sh
cp --backup --force -r /home/mysql/wordpress/ /home/chenlianfu/bakup_for_reinstall_centos5/
tar -C /home/chenlianfu/bakup_for_reinstall_centos5/ -zc -f /home/chenlianfu/bakup_for_reinstall_centos5/wordpress_mysql_$(date +%Y%m%d).tar.gz --remove-files wordpress
date | mail -s wordpress_mysql_$(date +%Y%m%d).tar.gz -a /home/chenlianfu/bakup_for_reinstall_centos5/wordpress_mysql_$(date +%Y%m%d).tar.gz chenllianfu@foxmail.com;

#chmod 755 /root/bakup_wordpress_mysql.sh

以上则可以在每天0点和12点进行wordpress的mysql数据库的备份工作并将最后的备份结果
发送到chenllianfu@foxmail.com邮箱中。

2. 使用软件进行备份

Linux 下查看硬盘使用时间

需要安装这个:
http://smartmontools.sourceforge.net/
如果是centos直接运行yum install smartmontools -y就可以了

然后输入这个:
smartctl -A /dev/sda
如果不行用df看看硬盘名称,把sda换了即可
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0×000f 083 063 044 Pre-fail Always – 204269687
3 Spin_Up_Time 0×0003 099 099 000 Pre-fail Always – 0
4 Start_Stop_Count 0×0032 100 100 020 Old_age Always – 18
5 Reallocated_Sector_Ct 0×0033 100 100 036 Pre-fail Always – 0
7 Seek_Error_Rate 0×000f 069 060 030 Pre-fail Always – 7825289
9 Power_On_Hours 0×0032 099 099 000 Old_age Always – 1626
10 Spin_Retry_Count 0×0013 100 100 097 Pre-fail Always – 0
12 Power_Cycle_Count 0×0032 100 037 020 Old_age Always – 18
184 Unknown_Attribute 0×0032 100 100 099 Old_age Always – 0
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always – 0
188 Unknown_Attribute 0×0032 100 099 000 Old_age Always – 12
189 High_Fly_Writes 0×003a 100 100 000 Old_age Always – 0
190 Airflow_Temperature_Cel 0×0022 072 069 045 Old_age Always – 28 (Lifetime Min/Max 25/31)
194 Temperature_Celsius 0×0022 028 040 000 Old_age Always – 28 (0 22 0 0)
195 Hardware_ECC_Recovered 0×001a 050 047 000 Old_age Always – 204269687
197 Current_Pending_Sector 0×0012 100 100 000 Old_age Always – 0
198 Offline_Uncorrectable 0×0010 100 100 000 Old_age Offline – 0
199 UDMA_CRC_Error_Count 0×003e 200 200 000 Old_age Always – 0

其中Power_On_Hours就是硬盘使用小时了,如果是Power_On_Minutes就是硬盘使用分钟,例如:
9 Power_On_Minutes 0×0032 201 201 000 Old_age Always – 649h+23m

ERROR 1045 (28000): Access denied for user

mysql登录的时候有这个错误:ERROR 1045 (28000): Access denied for user。 解决方法:

# /etc/init.d/mysqld stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysqld restart
# mysql -u root -p
Enter password: 
mysql>
搞定

vim在粘贴时取消自动缩进

当使用vim写程序和代码的时候,一般都会设置自动缩进,这样书写方便。但是需要粘贴的时候,自动缩进会让代码乱套。

为此,解决方法为在vim配置文件.vimrc中添加一行:

set pastetoggle=<F4>

然后在使用vim的时候,进入编辑模式,按F4即可进入粘贴模式,在此模式下,自动缩进会取消,粘贴起来就不会出现很乱的感觉了。粘贴完毕后按F4退出粘贴模式,又回复到自动缩进状态,书写程序方便了。

Linux下如何释放内存

在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好。但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了。

Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换)、Buffer Cache(针对磁盘块的读写)和Page Cache(针对文件inode的读写)进行缓存操作。但是在进行了大量文件操作之后,缓存会把内存资源基本用光。但实际上我们文件操作已经完成,这部分缓存已经用不到了。这个时候,我们难道只能眼睁睁的看着缓存把内存空间占据掉么?

所以,我们还是有必要来手动进行Linux下释放内存的操作,其实也就是释放缓存的操作了。

要达到释放缓存的目的,我们首先需要了解下关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:

0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存

知道了参数后,我们就可以根据我们的需要,使用下面的指令来进行操作。

首先我们需要使用sync指令,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。否则在释放缓存的过程中,可能会丢失未保存的文件。

# sync

接下来,我们需要将需要的参数写进/proc/sys/vm/drop_caches文件中,比如我们需要释放所有缓存,就输入下面的命令:

# echo 3 > /proc/sys/vm/drop_caches

此指令输入后会立即生效,可以查询现在的可用内存明显的变多了。

要查询当前缓存释放的参数,可以输入下面的指令:

# cat /proc/sys/vm/drop_caches

释放缓存完毕,让设置保持默认:

# echo 0 > /proc/sys/vm/drop_caches