2006-06 归档

每天备份 mysql 数据库的脚本

1. #!/bin/sh
2. cd /home/mysql-backup
3. rm alldb.5.tar.gz -f
4. mv alldb.4.tar.gz alldb.5.tar.gz>/dev/null 2>&1
5. mv alldb.3.tar.gz alldb.4.tar.gz>/dev/null 2>&1
6. mv alldb.2.tar.gz alldb.3.tar.gz>/dev/null 2>&1
7. mv alldb.1.tar.gz alldb.2.tar.gz>/dev/null 2>&1
8. mv alldb.0.tar.gz alldb.1.tar.gz>/dev/null 2>&1
9. tar zcf alldb.0.tar.gz alldb.sql>/dev/null 2>&1
10. rm alldb.sql -f
11. mysqldump –all-databases –opt -ppassword>alldb.sql

上面的最后一句话中 -ppassword 的 password 表示 root 帐号的密码,把它改为你自己的数据库的 root 帐号密码就可以了,或者你可以专门建立一个用来备份的用户来代替 root 帐号。另外,你要保证 /home/mysql-backup 目录是存在的。最后把这个脚本属性改为 755,属主是 root.root,放在 /etc/cron.daily 目录下就可以每天备份一次数据库了,并且以一个星期为周期进行循环。 如果再加上双机备份,将会更保险。

同样的方法可以用于备份网站内容、dns 数据库等。

还没有留言,不如你来说两句?

linux下硬盘挂接

#mkdir www 创建/www目录,我们将把新的分区挂到www下
#mount /dev/sdb1 /www 将/dev/sdb1挂载到/www
# df 用df命令进行查看
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 3771316 1388956 2190788 39% /
/dev/sda1 101089 9463 86407 10% /boot
none 62988 0 62988 0% /dev/shm
/dev/sdb1 485906 8239 452580 2% /www 看到了,这就是我们刚才新挂载的分区

进行手工挂载,这样很麻烦,我们需要修改/etc/fstab文件来进行自动挂载。
#vi /etc/fstab
在文件的末尾填加如下内容:
/dev/sdb1 /www ext3 defaults 1 2
如有多个分区可修改sdb1和/www,修改完后保存,重起服务器。

还没有留言,不如你来说两句?

wget的用法

Wget 的用法
-V 版本信息
-h 帮助信息
-b 后台执行Wget
-o filename 把记录放在文件filename
-a filename 把记录附加在文件filename
-d 显示调试信息
-q 无输出下载方式
-v 详细的屏幕输出(默认)
-nv 简单的屏幕输出
-i inputfiles 从文本文件内读取地址列表
-F forcehtml 从html文件内读取地址列表

-t number number次重试下载(0时为无限次)
-O output document file 写文件到文件
-nc 不覆盖已有的文件
-c 断点下传
-N 时间戳:该参数指定wget只下载更新的文件,也就是说,与本地目录中的对应文件的长度和最后修改日期一样的文件将不被下载。
-S 显示服务器响应
-T timeout 超时时间设置(单位秒)
-w time 重试延时(单位秒)
-Y proxy=on/off 是否打开代理
-Q quota=number 重试次数

目录:
-nd –no-directories 不建立目录.
-x, –force-directories 强制进行目录建立的工作.
-nH, –no-host-directories 不建立主机的目录.
-P, –directory-prefix=PREFIX 把档案存到 PREFIX/…
–cut-dirs=NUMBER 忽略 NUMBER 个远端的目录元件.

HTTP 选项:

–http-user=USER 设 http 使用者为 USER.
–http0passwd=PASS 设 http 使用者的密码为 PASS.
-C, –cache=on/off 提供/关闭快取伺服器资料 (正常情况为提供).
–ignore-length 忽略 `Content-Length’ 标头栏位.
–proxy-user=USER 设 USER 为 Proxy 使用者名称.
–proxy-passwd=PASS 设 PASS 为 Proxy 密码.
-s, –save-headers 储存 HTTP 标头成为档案.
-U, –user-agent=AGENT 使用 AGENT 取代 Wget/VERSION 作为识别代号.
FTP 选项:
–retr-symlinks 取回 FTP 的象徵连结.
-g, –glob=on/off turn file name globbing on ot off.
–passive-ftp 使用 “passive” 传输模式.

使用递回方式的取回:
-r, –recursive
递归;对于HTTP主机,wget首先下载URL指定的文件,然后(如果该文件是一个HTML文档的话)递归下载该文件所引用(超级连接)的所有文件(递归深度由参数-l指定)。对FTP主机,该参数意味着要下载URL指定的目录中的所有文件,递归方法与HTTP主机类似。
-l, –level=NUMBER 递回层次的最大值 (0 不限制).
–delete-after 删除下载完毕的档案.
-k, –convert-links 转换连接:HTML文件存盘时,将其中的非相对连接转换成为相对连接。
-m, –mirror 镜像:相当于同时使用-r和-N参数。
-nr, –dont-remove-listing 不要移除 `.listing’ 档.
递回式作业的允许与拒绝选项:
-A, –accept=LIST 允许的扩充项目的列表
. -R, –reject=LIST 拒绝的扩充项目的列表.
-D, –domains=LIST 允许的网域列表.
–exclude-domains=LIST 拒绝的网域列表 (使用逗号来分隔).
-L, –relative 只跟随关联连结前进.
–follow-ftp 跟随 HTML 文件里面的 FTP 连结.
-H, –span-hosts 当开始递回时便到外面的主机.
-I, –include-directories=LIST 允许的目录列表.
-X, –exclude-directories=LIST 排除的目录列表.
-nh, –no-host-lookup 不透过 DNS 查寻主机.
-np, –no-parent 不追朔到起源目录.

使用举例:
一、wget -m -l4 -t0 External Linkhttp://oneweb.com.cn/
将在本地硬盘建立External Linkhttp://oneweb.com.cn/的镜像,镜像文件存入当前目录下一个名为
oneweb.com.cn的子目录中(你也可以使用-nH参数指定不建立该子目录,而直接在当前
目录下建立镜像的目录结构),递归深度为4,重试次数为无穷。

二、wget -L External Linkhttp://www.xys.org/~ppfl/
则只提取该个人网站,而不涉及主机www.xys.org上的其他目录。

三、用wget如何去一个要输入用户名和密码的站点
URL这样写: External Linkhttp://username:password@site.name/something/

还没有留言,不如你来说两句?

linux cron

启动服务 /sbin/service crond start

crontab -u /设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l /列出某个用户cron服务的详细内容
crontab -r /删除没个用户的cron服务
crontab -e /编辑某个用户的cron服务

特殊的符号就是”*”、”/”和”-”、”,”,*代表所有的取值范围内的数字,”/”代表每的意思,”*/5″表示每5个单位,”-”代表从某个数字到某个数字,”,”分开几个离散的数字。以下举几个例子说明问题:
一.每天早上6点
0 6 * * * echo “Good morning.” >> /tmp/test.txt
二.每两个小时
0 */2 * * * echo “Have a break now.” >> /tmp/test.txt
三.晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo “Have a good dream:)” >> /tmp/test.txt
四.每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
五.1月1日早上4点
0 4 1 1 * command line

还没有留言,不如你来说两句?