分类归档: Tech.Memo

用 Rsync(cwRsync)备份 Dreamhost 到 Windows 上

因为这次 Dreamhost 的安全问题,不得不考虑调整站点备份的周期。备份方式是利用 cxRsync 通过 SSH 通道备份数据到本地 Windows 上。Rsync 在 Windows 上的实现有好几个包装好的工具,比如 DeltaCopyUnison 等。经过比较还是觉得 cxRsync 最好用.

cwRsync 的优点:

1) 配置简单。已经包装了 crgwin 库文件,下载安装就能直接调用命令进行同步。
2) 命令行即可操作. 与 Unix 上基本一样(DeltaCopy 则是图形化的,Unison 还需要熟悉后才可以)。

基本操作步骤:

1) 下载,安装 cwRsync.
2) (可选, Dreamhost 的安全都这样糟了,还不如直接用密码登录安全呢,嘿)创建 Key, 进入命令行模式, 调用 ssh-keygen 命令创建 Key. 公钥和私钥存储的位置就放在默认的位置即可。完成后将公钥串存入 ~/.ssh/authorized_keys 文件内。
3) 进入命令行模式, 调用 rsync 命令:

rsync  --exclude="/home/foo/tmp/" -avz [email protected]:foobar.net/ \ 
MySites\www.foobar.net\

说明: –exclude 过滤掉一些无关紧要的目录,比如 MT 目录下的 Cache 信息等,foo 和 foobar 请根据自己的情况做适当的替换。

最后,如果喜欢用 Windows 的任务调度的话,可以考虑调用。反正我是从来不用的。

EOF

Bash Shell 快捷键的学习使用

这篇 Bash Shell Shortcuts 的快捷键总结的非常好。值得学习。下面内容大多数是拷贝粘贴与总结.

CTRL 键相关的快捷键:

Ctrl + a - Jump to the start of the line
Ctrl + b - Move back a char
Ctrl + c - Terminate the command  //用的最多了吧?
Ctrl + d - Delete from under the cursor
Ctrl + e - Jump to the end of the line
Ctrl + f - Move forward a char
Ctrl + k - Delete to EOL
Ctrl + l - Clear the screen  //清屏,类似 clear 命令
Ctrl + r - Search the history backwards  //查找历史命令
Ctrl + R - Search the history backwards with multi occurrence
Ctrl + u - Delete backward from cursor // 密码输入错误的时候比较有用
Ctrl + xx - Move between EOL and current cursor position
Ctrl + x @ - Show possible hostname completions
Ctrl + z - Suspend/ Stop the command
补充:
Ctrl + h - 删除当前字符
Ctrl + w - 删除最后输入的单词 

ALT 键相关的快捷键:

平时很少用。有些和远程登陆工具冲突。

Alt + < - Move to the first line in the history
Alt + > - Move to the last line in the history
Alt + ? - Show current completion list
Alt + * - Insert all possible completions
Alt + / - Attempt to complete filename
Alt + . - Yank last argument to previous command
Alt + b - Move backward
Alt + c - Capitalize the word
Alt + d - Delete word
Alt + f - Move forward
Alt + l - Make word lowercase
Alt + n - Search the history forwards non-incremental
Alt + p - Search the history backwards non-incremental
Alt + r - Recall command
Alt + t - Move words around
Alt + u - Make word uppercase
Alt + back-space - Delete backward from cursor 
// SecureCRT 如果没有配置好,这个就很管用了。

其他特定的键绑定:

输入 bind -P 可以查看所有的键盘绑定。这一系列我觉得更为实用。

Here "2T" means Press TAB twice
$ 2T - All available commands(common) //命令行补全,我认为是 Bash 最好用的一点
$ (string)2T - All available commands starting with (string)
$ /2T - Entire directory structure including Hidden one
$ ./2T - Only Sub Dirs inside including Hidden one
$ *2T - Only Sub Dirs inside without Hidden one
$ ~2T - All Present Users on system from "/etc/passwd" //第一次见到,很好用
$ $2T - All Sys variables //写Shell脚本的时候很实用
$ @2T - Entries from "/etc/hosts"  //第一次见到
$ =2T - Output like ls or dir //好像还不如 ls 快捷
补充:
Esc + T - 交换光标前面的两个单词

很多来自GNU 的 readline 库。另外一份总结也很好

记忆是所有技术人员的敌人。一次要把所有的都记住是不可能的。针对自己的使用习惯,对少数快捷键反复使用,短期内就会有效果。

你还知道那些好用的快捷键 ? 补充一下 ?

EOF

Crontab 笔记

关于 Crontab ,维基百科上的词条 Crontab非常好。可惜这个地址在国内不用代理访问不到。 虽然关于 Crontab 的介绍到处都是,详细读了一遍这个词条,收获还是有的。Crontab 这个名字来自 “chronos”,一个古希腊语, “时间”的意思.

常见陷阱

每个SA、DBA 或者是普通的 Unix 用户,在第一次使用 Crontab 的时候都会遇到问题. 运行 Crontab 的常见错误包括如下几种:

1) 出于测试目的新创建了一条 Cron JOB,

时间间隔必须超过两分钟,否则 JOB 将调度不到。如果必须忽略这两分钟的载入配置时间差,可以通过重新启动 Cron Daemon 做到。

2) 从 Crontab 中启动 X Window 程序需要注意的事项:所以要么在程序前初始化 “DISPLAY=:0.0”, 要么在应用程序后面追加参数 –display :0.0 3) 命令中的 % 必须做转义处理: \% .我个人的意见是不要在命令行里带这个参数,干脆写到脚本里,然后调度该脚本即可。

其实我倒是认为使用 Crontab 最常见的一个问题往往是因为环境变量不对。经常会看到论坛里有人问:为什么我的 Crontab 创建了不执行? 准备创建一条 Cron JOB 的时候,很多人都喜欢在命令行下运行一遍,因为这个时候环境变量是随着 Shell 自动带进来,在 Crontab 中则可能因为找不到正确的环境变量,JOB 就不能执行。这个小问题就像出天花,一次教训之后就都记得了。

必须使用的一则技巧

每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。

附: Crontab 的格式说明如下: * 逗号(‘,’) 指定列表值。如: “1,3,4,7,8” * 中横线(‘-‘) 指定范围值 如 “1-6”, 代表 “1,2,3,4,5,6” * 星号 (‘‘) 代表所有可能的值 Linux(开源系统几乎都可以)下还有个 “/” 可以用. 在 Minute 字段上,/15 表示每 15 分钟执行一次. 而这个特性在商业 Unix ,比如 AIX 上就没有.

# Use the hash sign to prefix a comment
# +---------------- minute (0 - 59)
# |  +------------- hour (0 - 23)
# |  |  +---------- day of month (1 - 31)
# |  |  |  +------- month (1 - 12)
# |  |  |  |  +---- day of week (0 - 7) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *  command to be executed

系统级的 Crontab

查看 /etc/crontab 这个文件,可以或者更多系统级别的调度任务。通过这个文件也可以学习一下更好的 Crontab 是怎么定义的。需要留意如下四个目录的东西:

/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly

在一个繁忙并且关键的系统上,有的时候这些默认的系统级任务调度会带来一些隐患。需要知晓。

用户添加的 Crontab 实际上存在什么位置呢? 这个实际上是存放在 /var/spool/cron/crontabs 目录下.

或许,你应该通过 man crontab 把整个手册读一遍。

重新安装系统后的几件事情

新的笔记本拿到了,旧系统上的很多信息要前一到新机器上来,还要作不少配置,系统才可以用起来得心应手。这些都做完了感觉还真的做了不少操作,记录一下供大家参考。

网上有一些经验可以介绍,比如这篇《重新安装系统后要做的十件大事》,但里面有几条随着 XP 的 SP2 发布后已不适用。

备份

需要备份的有:
收藏夹内容。IE 收藏夹内容备份比较好做。Firefox 的则需要在安装目录下寻找 bookmarks.htm 的文件,拷贝到目标机器上。
证书备份 我的机器上有两个需要备份的:招行专业版的证书,支付宝证书(参考)。
Outlook 配置信息备份 通过Office工具”Microsoft Office 2003 用户设置保存向导”来做,当然还需要备份邮件的数据文件
IM 工具的历史聊天记录。阿里旺旺的聊天记录备份只需要把安装目录中的 Users 文件夹复制到远程即可。MSN Messenger 的记录在”我的文档”里面。
此外还有 Flashget 下载的历史数据文件,SecureCRT 配置信息等等,IE 的 Cookie 也有必要导出并导入到新的环境。

打开 Windows XP SP2 的防火墙

先不要接入网络,打开 Windows XP SP2 的防火墙,这是重新安装系统后的第一件事情。否则如果感染病毒的话,就要反复折腾几次才能好。

关闭恼人的媒体自动播放功能

单击”开始→运行”,在”打开”框中,键入”gpedit.msc”,单击”确定”按钮,打开”组策略”窗口;
在左窗格的”本地计算机策略”下,展开”计算机配置→管理模板→系统”,然后在右窗格的”设置”标题下,双击”关闭自动播放”;
单击”设置”选项卡,选中”已启用”复选钮,然后在”关闭自动播放”框中单击”所有驱动器”,单击”确定”按钮,最后关闭”组策略”窗口。
在”用户配置”中同样也存在这个”关闭自动播放”设置。但”计算机配置”中的设置比”用户配置”中的设置优先。

取消压缩文件夹支持

这条经验来自上面的”十件事”,运行命令:

“regsvr32 /u zipfldr.dll” ,回车,出现提示窗口”zipfldr.dll中的Dll UnrgisterServer成功”即可取消Windows XP的压缩文件夹支持。另外,输入regsvr32 shdocvw.dll可以取消”图片和传真”与图片文件的关联。

微软的 Powertoys for Windows XP 工具中的 Tweak UI 也很好用的,做个性化设置可以尝试一下。

其它需要处理的有:

  • Ultraedit 语言配置文件
  • 输入法词库的备份
  • Firefox 插件列表备份

EOF