本节主要内容:
crontab用法举例
例如:
0 6 * * * echo “Good morning.” >> /tmp/test.txt
每两个小时
0 */2 * * * echo “Good morning.” >> /tmp/test.txt
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo “Good morning.” >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 echo “Good morning.” >> /tmp/test.txt
1月1日早上4点
0 4 1 1 * echo “Good morning.” >> /tmp/test.txt
基本格式 :
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
每晚的21:30重启lighttpd 。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
每月1、10、22日的4 : 45重启lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
每周六、周日的1 : 10重启lighttpd 。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
每星期六的11 : 00 pm重启lighttpd 。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启lighttpd
本节主要内容:
Linux重定向的基础知识。
在登录Linux时,便将默认的标准输入、标准输出、标准错误输出安排成你的终端。
I/O重定向就是你通过与终端交互,或者在shell script里设置,重新安排从哪里输入或者输出到哪里。每个程序都应该有标准输入/输出(错误输出)。
在linux中重定向的方法,一般包括:>、<、<<、管道等
先了解stdin、stdout、stderr。
标准输出(stdout):代码为1,使用>或者>>,是命令执行所回传的正确的信息。
1>:以覆盖的方法将正确的数据输出到指定的文件或者设备上
1>>:以追加的方法将正确的数据输出到指定的文件或者设备上
标准错误输出(stderr):代码为2,使用2>或2>>,是命令执行失败后,所回传的错误信息。
2>:以覆盖的方法将错误的数据输出到指定的文件或者设备上
2>>:以追加的方法将错误的数据输出到指定的文件或者设备上
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
cat: /etc/thinksay: 没有那个文件或目录
[root@xxx ~]# cat /etc/crontab /etc/thinksay > list_right 2> list_error
[root@xxx ~]# cat list_error
cat: /etc/thinksay: 没有那个文件或目录
[root@xxx ~]# cat list_right
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
标准输入(stdin):代码为0,使用<或<<,是将原本需要由键盘输入的数据改由文件内容来替代。注意,<<代表的是结束输入的意思。
> my name is think
> hello world
> eof
[root@xxx think]# cat test
my name is think
hello world
可以把>、<、>>想象成漏斗:数据会从大的一端进入,由小的一端出来。
>重定向符在目的文件不存在时,会新建一个。然而,目的文件已存在,它就会被覆盖掉,原本的数据都会丢失。而>>在目的文件不存在时,会新建一个;存在时会追加到文件尾。
管道可以把两个以上执行中的程序链接在一起,第一个程序的标准输出可以变成第二个程序的标准输入。
因为,>或者<使用的是临时文件,管道在速度上比临时文件快上10倍。
从最原始的数据开始,然后构造一条条管道,一步步地,管道中的每个阶段都会让数据更接近要的结果。
注意:构造管道时,应该试着让每个阶段的数据量变得更少。
> 1 2 5
> eof
[root@xxx think]# tr -d 2 < test01 | sort > test02
[root@xxx think]# cat test02
1 5
注意:
有个特殊文件,”位桶“--/dev/null。重定向到此文件的数据都会被系统丢掉。
Linux文件重定向的应用场景:
2)后台执行中的程序,不希望它打搅屏幕正常的输出结果时
3)一些系统的例行工作,希望它可以存下来时
4)一些执行命令的可能已知错误信息,想以“2> /dev/null"将其丢弃时
5)错误信息与正确信息需要分别执行时
您可能感兴趣的文章:
解析:Linux之管道与重定向深入linux中重定向及管道详解
深入linux上shell重定向详解>>
Linux中重定向命令行的方法总结
shell i/o常用重定向方法详解
深入理解Linux重定向的使用
linux文件描述符与输入输出重定向
有关I/O重定向的详细教程
centos下设置alias别名,比较简单,例如:
vim /root/.bashrc
alias rm='rm -i'
在之前的文章中,我们也介绍过:自定义 liux alias的方法,下面为大家详细介绍alias命令的详细用法。
Linux alias设置指令的别名命令详解
功能说明:设置指令的别名。
语 法:alias[别名]=[指令名称]
补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。
参 数:若不加任何参数,则列出目前所有的别名设置。
Linuxalias及设置
一、简介
linux alias 是命令的一种别称,输入
alias
输出形如这样的结果:
alias vi="vim"
在输入vi后,被自动定向到vim这个命令了。
alias就是用来简写命令的。
二、修改alias
添加自己的alias,格式:
alias la="ls -al --color=auto"
三、修改配置文件
以上alias命令的设置方法,在用户退出后就失效了。
可以用修改配置文件的办法,使每次都能够自动生效。
若要修改用户(而非全部用户)自己的alias,可以修改~/.bashrc文件
vii ~/.bashrc
在最后面加上自定义的alias,例如:
alias la="ls -al --color=auto"
此修改在下次登录时生效。
若要立即生效,可以这样:
source ~/.bashrc
四、常用的alias
根据自己的需要,自行设置一些alias。
四、修改全局的alias,可以通过修改系统配置文件来完成,这个大家自己研究下。
CentOS5.6自带的alias定义
注意:取消别名的方法是在命令前加\,比如 \mkdir
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
有的系统中没有ll这个命令,原因是未定义ll='ls -l --color=tty'别名,可以使用alias把很长的命令变成任意简短的命令。
设置和修改alias命令别名格式:
alias ll='ls -l --color=tty'
永久生效的话,可以把设置写入到:/etc/bashrc文件中。