Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15370
  • 博文数量: 11
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-04 14:52
文章分类

全部博文(11)

文章存档

2010年(6)

2009年(5)

我的朋友
最近访客

分类: LINUX

2009-11-04 17:54:36

1.增量备份.
linux备份真是太方便了,其实我们常用的tar就是很好的增量备份软件
使用 tar -g 参数进行增量备份实验
完整备份:
#建立测试路径与档案
mkdir test
touch test/{a,b,c};
在test下生成三个文件
#执行完整备份
tar -g snapshot -zcf backup_full.tar.gz test
#查看 tarball 内容
tar ztf backup_full.tar.gz
test/
test/a
test/b
test/c
增量备份:
#新增一个档案
touch test/d
#执行第一次的增量备份 (注意 tarball 档名)
tar -g snapshot -zcf backup_incremental_1.tar.gz test
#查看 tarball 内容
tar ztf backup_incremental_1.tar.gz
test/
test/d
#新增一个档案, 并异动一个档案内容
touch test/e
echo 123 > test/a
#执行第二次的增量备份 (注意 tarball 档名)
tar -g snapshot -zcf backup_incremental_2.tar.gz test
#查看 tarball 内容
tar ztf backup_incremental_2.tar.gz
test/
test/a
test/e
还原备份资料:
#清空测试资料
rm -rf test
#开始进行资料还原
tar zxf backup_full.tar.gz
tar zxf backup_incremental_1.tar.gz
tar zxf backup_incremental_2.tar.gz
#查看测试资料
ls test
a b c d e
使用 tar -u 参数进行增量备份
第一次备份:
#建立测试路径与档案
mkdir test
touch test/a test/b test/c
#备份资料
tar zcf backup.tar.gz test
#查看 tarball 内容
tar ztf backup.tar.gz
test/
test/a
test/b
test/c
增量备份:
#新增一个档案, 并异动一个档案内容
touch test/d
echo 123 > test/a
#执行增量备份 (-u 参数只能执行於未压缩的 tarball)
gunzip backup.tar.gz
tar uf backup.tar test
gzip backup.tar
#查看 tarball 内容
tar ztf backup.tar.gz
test/
test/a
test/b
test/c
test/
test/a
test/d
还原备份资料:
#清除测试资料
rm -rf test
#解包 tarball
tar zxf backup.tar.gz
#查看测试资料
ls test
a b c d
2.nohup, &, Ctrl+C, kill, netstat 命令
nohup
理论上,我们一般退出Linux系统时,会把所有的程序全部结束掉,包括那些后台程序。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用 nohup 命令。该命令可以在你退出帐户之后继续运行相应的进程。nohup 就是不挂起的意思( no hang up),可以作为系统服务运行。
该命令的一般形式为:
nohup command &
在缺省情况下该作业的所有输出都被重定向到当前目录下的一个名为 nohup.out 的文件中,除非另外指定了输出文件:
nohup command > myout.file &
在上面的例子中,输出被重定向到 myout.file 文件中。

让我们来看一个例子,验证一下在退出帐户后相应的作业是否能够继续运行。我们先提交一个名为 ps1 的日志清除进程:
$nobup ps1 &
现在退出该shell,再重新登录,然后执行下面的命令:
代码:
$ps x | grep ps1
我们看到,该脚本还在运行。如果系统不支持ps x命令,使用ps -ef|grep ps1命令。
=======
ctrl + C 的含义
杀死前台作业中的进程,如果没有任何前台作业,则该特殊键无效
=======
&
当用户需要在后台执行一个作业时,可以在作业命令的后面加上元字符“&”,用户以该种方式输入的作业命令都必须放在后台执行,同时并不影响用户与终端的交互。
=======
查看本机端口情况
netstat -ant
 
3.Linux——Crontab使用详解 
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0/3 6-12 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 :
0 17 * * 1-5 mail -s "hi" < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.
 
 
 Linux下使用crontab来执行定时任务计划 执行定时任务
语法: crontab [-u 用户名] [设置文件]
    crontab [-u 用户名] [-elr]
说明:cron是一个守护程序,它提供定时器的功能,让用户在特定的时间得以执行默认的指令或程序.只要用户会编辑定时器的设置文件,就可以使用定时器的功能. 定时器文件格式:
分  时  日  月  周    [用户]  command
 0   4    *    *    *      root    updatedb           #每天早上4:00以root用户身份执行updatedb命令
*/5 *   *    *    *      root      updatedb        #每五分制执行一次
*/1 *   *    *    *       root      updatedb        #每一分钟执行一次
其中用户root可以忽略不填,如:
1-59 * * * * echo "hello">>/root/hello.txt  #每分钟写个hello到/root/hello.txt这个文件中
注意检查一下crontab是否启动,/etc/init.d/crond   start
 

参数:
      -l    列出用户的定时器设置
      -e    编辑用户的定时器设置
      -r    删除用户的定时器设置
      -u<用户名>   指定要设置定时器的用户名称
 

如果遇到使用crontab -e或crontab -l的时候提示:no crontab for root
说明还没有为root这个账号提供crontab
可以自己创建一个配置文件来添加上去
1. #vi hello-conf
    1-59 * * * * echo "hello">/root/hello.txt
2. #crontab -u root hello-conf
3. #crontab -l    应该就可以列出任务列表了。
4. #crontab -e    现在就可以用这个命令来编辑配置文件了

 
阅读(456) | 评论(0) | 转发(0) |
0

上一篇:AIX系统硬件层次介绍

下一篇:scp运用

给主人留下些什么吧!~~