Tag: Summary

  • WordPress中Pre标签自动换行

    使WordPress中使用Pre标签,经常代码过长,不自动换行

    主题–编辑–样式表 (style.css)

    找到控制pre的部分

    pre {    
            font-family: "Courier 10 Pitch", Courier, monospace;
            /* styles to make preformatted text wrap */
            white-space: pre-wrap;       /* css-3 */
            white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
            white-space: -pre-wrap;      /* Opera 4-6 */
            white-space: -o-pre-wrap;    /* Opera 7 */
            word-wrap: break-word;       /* Internet Explorer 5.5+ */
    }
  • linux下date命令实例

    date命令在linux很重要,属于基础命令之一,date命令的功能是显示和设置系统日期和时间。

    显示当前日期

    #date

    显示结果后面会跟上如下标准时间,注意换算

    CST:中国标准时间(China Standard Time),为GMT时间+8

    UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间”Universal Time/Temps Cordonné”而来。中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳洲西部的时间与UTC的时差均为+8,也就是UTC+8。

    GMT:格林尼治标准时间(旧译格林威治平均时间或格林威治标准时间;英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

    date命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式,+与%中间没有空格)

    date 选项及其含意:

    -d datestring, –date datestring 显示由datestring描述的日期
    -s datestring, –set datestring 设置datestr 描述的日期
    -u, –universal 显示或设置通用时间时间域
    -R, –rfc-2822 显示当前时区

    date 时间格式参数(注意大小写):

    %H 小时(00..23)
    %I 小时(01..12)
    %k 小时(0..23)
    %M 分(00..59)
    %p 显示出AM或PM
    %r 时间(hh:mm:ss AM或PM),12小时
    %s 从1970年1月1日00:00:00到目前经历的秒数,可以用来算时间差
    %S 秒(00..59)
    %F YYYY-mm-dd格式的完整日期(Full date),同%Y-%m-%d
    %T 时间(24小时制)(hh:mm:ss)
    %X 显示时间的格式(%H:%M:%S)
    %Z 时区 日期域
    %a 星期几的简称( Sun..Sat)
    %A 星期几的全称( Sunday..Saturday)
    %b 月的简称(Jan..Dec)
    %B 月的全称(January..December)
    %c 日期 星期和时间( Mon Nov 8 14:12:46 CST 1999)
    %d 一个月的第几天(01..31)
    %D 日期(mm/dd/yy)
    %h 和%b选项相同
    %j 一年的第几天(001..366)
    %m 月(01..12)
    %w 一个星期的第几天(0代表星期天)
    %W 一年的第几个星期(00..53,星期一为第一天)
    %x 显示日期的格式(mm/dd/yy)
    %y 年的最后两个数字( 1999则是99)
    %Y 年(例如:1970,1996等)

    需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。

    显示我们中国人比较喜欢的格式

    date +%Y/%m/%d"  "%H:%M:%S
    2012/11/14  08:42:48

    下列环境变量将会影响到 date 命令的执行效果。
    LANG 确定在 LC_ALL 和相应的环境变量(以 LC_ 开头)都不指定语言环境的时候将要使用的缺省语言环境。
    LC_ALL 确定用于覆盖由 LANG 或任何以 LC_ 开头的环境变量设置的任何语言环境类别值的语言环境。
    LC_CTYPE 确定文本数据的字节序列解释为字符时使用的语言环境(例如参数中单对多字节字符)。
    LC_MESSAGES 决定写信息应使用的语言。
    LC_TIME 确定由 date 写入的日期和时间字符串的内容。
    NLSPATH 为处理 LC_MESSAGES 决定消息目录的位置。
    TZ 指定时间和日期使用的时区,除非指定了 -u 选项。如果未设置 TZ 变量且未指定 -u 标志,则使用非指定的系统缺省时区。

    使用示例——设置篇:

    设置当前时间,只有root权限才能设置,其他只能查看。

    设置成20061010,这样会把只有日期的话,时刻会为00:00:00

    #date -s 20061010

    设置具体时刻,不对日期做更改

    #date -s 12:23:23

    设置全部日期和时刻

    #date -s "12:12:23 2006-10-10"

    将时间与internet同步并写入bios请查看:http://jpuyy.com/2011/10/change-time-zone-and-use-ntpdate.html

    使用示例——显示篇:

    用指定的格式显示时间。在man date的-d选项中,说明了显示的是后面描述的时间,并不一定是当前时间。

    -d, –date=STRING
    display time described by STRING, not `now’

    下面几个实例灵活的运用了参数,显示出想要的时间效果。
    显示明天

    # date -d next-day +%Y%m%d
     或:# date -d tomorrow +%Y%m%d

    显示昨天

     # date -d last-day +%Y%m%d
     或:# date -d yesterday +%Y%m%d
     或:# date -d "1 days ago" +%Y%m%d

    显示上个月:

     # date -d last-month +%Y%m

    显示下个月:

     # date -d next-month +%Y%m

    显示明年:

     # date -d next-year +%Y

    可以看出要显示某天/周/月/年之前或之后,可直接用类似于下面的命令;x用数字代替,如果需要几年前的直接写正数,如果要几年后的日期直接写负数即可;

    date -d "x days ago" +%Y%m%d
    date -d "x weeks ago" +%Y%m%d
    date -d "x months ago" +%Y%m%d
    date -d "x years ago" +%Y%m%d

    拿到 timestamp 转化成 datetime

    date -d @1457431246

    datetime 转换为 timestamp

    date -d '2017-08-16' "+%s"

    常用

    date +%F_%H-%M-%S
    2021-09-13_22-58-56
    date +%F_%T
    2022-03-26_11:53:20
    
  • 用dropbox备份vps上的数据

    详细使用方法:
    http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall#Runningonsystemstartup

    1.安装

    登陆SSH后,

    wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86

    这个是32位的,64位就这样

    wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64

    解压

    tar xzvf dropbox.tar.gz

    2.运行

     ~/.dropbox-dist/dropboxd &

    注:首次运行,会频繁出现一串URL地址,说你没有绑定,这时不要退出,复制下url,到浏览器中打开输入用户名密码后绑定,绑定完成后,SSH界面上会出现欢迎登陆的文字描述

    3.备份

    将备份的文件夹,映射到Dropbox文件夹从而自动同步备份。

    cd ~/Dropbox
    ln -s /home/wwwroot

    如上示例中,将wwwroot文件夹的映射到Dropbox,从而备份wwwroot文件夹里所有内容。

    4.结束运行

    killall dropbox

    5.定时同步备份

    dropbox运行所需要的内存很大,所以并不适合小内存的VPS一直开着,那么我们也可以建立一个计划任务来让dropbox定时运行,再定时关闭。

    建立dropbox.sh脚本,内容如下

    #!/bin/sh
    start() {
    echo starting dropbox
    /root/.dropbox-dist/dropboxd &
    }
    stop() {
    echo stoping dropbox
    pkill dropbox
    }
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    stop
    start
    ;;
    esac

    脚本下载:http://www.ezencart.com/wp-content/demo/dropbox.sh

    修改权限

    chmod 755 /root/dropbox.sh

    建立计划任务:

    crontab -e

    添加如下内容

      0 4 * * * sh /root/dropbox.sh restart
     0 6 * * * sh /root/dropbox.sh stop

    这样dropbox就会自动在每天4点运行,6点关闭。

    6.删除dropbox方法

     rm -rf .dropbox .dropbox-dist  Dropbox dropbox.tar.gz dbmakefakelib.py dbreadconfig.py

    转载:http://www.laogeng.org/archives/1204.html

  • svn基本命令 svn help

    查看了svn help对基本命令进行详述

    root@debian:~# svn help

    用法: svn <subcommand> [options] [args]Subversion 命令行客户端,版本 1.6.17。

    使用“svn help <subcommand>” 显示子命令的帮助信息。

    使用“svn –version”查看程序的版本号和版本库访问模块,或者使用“svn –version –quiet”只查看程序的版本号。

    大多数的子命令可接受文件或目录参数,对目录进行递归处理。

    如果没有指定参数,默认对当前目录(包含当前目录)递归处理。

    可用的子命令(记得先切到工作副本):

    svn add

    svn blame (praise, annotate, ann)

    cat  查看某文件过去一个版本的内容,如

    svn cat --r 2 meizi.txt

    svn changelist (cl)

    svn checkout (co) 检出命令

    svn co file:///opt/svnroot/dev-a/

    检出具体版本

    svn co -r 250 file:///opt/svnroot/dev-a/

    svn cleanup

    svn commit (ci)

    svn copy (cp)

    svn delete (del, remove, rm)   删除某个文件

    svn del filename

    svn diff (di)

    svn export

    svn help (?, h)

    svn import

    svn info查看当前副本的版本信息

    # svn info
    路径: .
    URL: https://abc.com/svn/dev/trunk
    版本库根: https://abc.com:808/svn/dev
    版本库 UUID: db3333b9-a35c-4fsc-a3bb-9c2ee82ebb56
    版本: 235
    节点种类: 目录
    调度: 正常
    最后修改的作者: jpuyy
    最后修改的版本: 235
    最后修改的时间: 2012-09-29 13:19:18 +0800 (一, 2012-09-29)

    svn list (ls) 可以在不下载文件的时候查看目录,查看远程目录的时候也很好用,如:

    svn list svn://jpuyy.com:3690/projectA

    svn lock

    svn log
    用法:svn log filename 某个文件的版本信息,如果不加

    svn merge

    svn mergeinfo

    svn mkdir

    svn mkdir file:///var/svnroot/nginxsub/testdir -m "试试创建目录"

    move (mv, rename, ren)

    svn propdel (pdel, pd)

    svn propedit (pedit, pe)

    svn propget (pget, pg)

    svn proplist (plist, pl)

    svn propset (pset, ps)

    svn resolve

    svn resolved

    svn revert

    status (stat, st)
    用法:svn status
    如果文件状态为? 则用命令:svn add filename //filename为具体的文件名
    如果文件状态为M 表示这个文件被修改了

    svn switch (sw)

    svn unlock

    svn update (up)

  • svn 添加路径

    以例子来说明:

    一步步安装phpmyadmin(安装到web根目录里)

    先在web根目录里创建路径 ,用于存放程序

    mkdir phpmyadmin

    这里我是在/root/里下载好phpMyAdmin-3.4.3.2-all-languages.tar.gz

    解压后复制到 /web/phpmyadmin/里面

    tar vxzf phpMyAdmin-3.4.3.2-all-languages.tar.gz
    cp -Rf /root/phpMyAdmin-3.4.3.2-all-languages/* /web/phpmyadmin/

    加入到当前svn,提交此版本到库里

    svn add * --no-ignore --force
    svn ci -m "add path phpmyadmin"

    🙂 EOT

  • linux时区的修改及使用ntpdate同步时间

    时间对linux来说十分重要,很多任务要求时间准确

    时区的修改

    查看当前时区

    # date -R

    通过如下命令,交互式问答来设置时区

    # tzselect

    这时会显示出来选择国家和地区,选好后提示你

    You can make this change permanent for yourself by appending the line
    TZ=’Asia/Shanghai’; export TZ
    to the file ‘.profile’ in your home directory; then log out and log in again.

    想要永久改变就写到你的.profile里,或/etc/profile全局文件中。

    TZ='Asia/Shanghai'; export TZ

    Here is that TZ value again, this time on standard output so that you
    can use the /usr/bin/tzselect command in shell scripts:
    Asia/Shanghai

    或者使所有用户的时区改变

    echo "TZ='Asia/Shanghai'" >> /etc/environment

    对于 centos 6,用如下方法更改时区

    cp /etc/localtime /etc/localtime.old
    ln -nfs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    ls -lh /etc/localtime
    date

    还有一个地方如果能改也要改一下

    vi /etc/sysconfig/clock
    ZONE="Asia/Shanghai"

    对于 centos7,稍微方便一些,原理一样
    查看 timezones

    [root@localhost ~]# timedatectl list-timezones
    [root@localhost ~]# ls -l /etc/localtime 
    lrwxrwxrwx. 1 root root 38 8月   1 2014 /etc/localtime -> ../usr/share/zoneinfo/America/New_York
    [root@localhost ~]# date
    2015年 02月 24日 星期二 22:08:35 EST

    设置 timezone

    [root@localhost ~]# timedatectl set-timezone Asia/Shanghai
    [root@localhost ~]# date 
    2015年 02月 25日 星期三 11:09:14 CST
    [root@localhost ~]# ls -l /etc/localtime 
    lrwxrwxrwx. 1 root root 35 2月  25 11:09 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

    接下来,更新系统时间为Internet时间,权根为root用户。

    先安装ntpdate并与0.cn.pool.ntp.org同步时间:

    apt-get install ntpdate
    ntpdate 0.cn.pool.ntp.org

    系统时钟与硬件时钟同步:

    # hwclock --systohc

    上面命令中,--systohc,简写为 -w 表示SYStem clock to Hardware Clock;
    同理--hctosys,简写为 -s 表示Hardware Clock to SYStem clock,不过我的理解是系统时间更新后把硬件时钟刷新的情况为正统。

    为保证时间的准确性,把时间同步写入到cron里,每小时把当前系统时间与Internet时间同步,每天把系统时间与硬件时间同步。

    * */1 * * * /usr/sbin/ntpdate 0.cn.pool.ntp.org >/dev/null
    0 0 * * * /sbin/hwclock -w >/dev/null

    Linux时钟介绍:

    Linux机器里有两个时钟,一个是硬件时钟(CMOS时钟),一个是内核时钟。硬件时钟是电池驱动的,通过专门的芯片工作。可以通过BIOS设置屏或一些系统命令(如hwclock)进行设置。内核时钟是由内核维护的,启动时从硬件读取时间,之后独立运行。

    RTC(Real Time Clock)

    即Linux实时的时钟驱动,通常它们被嵌在计算机的芯片中,也有一些是在主板上使用Motorola MC146818(或clone)实现的。该硬件设备可映射到/dev/rtc,供root编程访问。

    NTP(Network time protocol)

    NTP为一种网络时间协议,是一种确保网络上的主机调整时间的方法。很多地方都会提供NTP服务器。

    常用 ntp 服务器

    ntpupdate.tencentyun.com

    CentOS 7 更新时间
    1. timedatectl 查看当前同步情况,如果没开,开启

     timedatectl set-ntp 1 

    check 时间
    datetimectl 显示

         NTP enabled: yes
    NTP synchronized: yes
    

    2. 如果是物理机,将时间刷入 hardware

    hwclock –systohc

    check 硬件时间

    hwclock