Linux 重定向

重定向  在定时执行任务  还有服务后台启动  命令输出比较多

先说一下linux重定向:
0 标准输入
1 标准输出
2 错误信息输出

在一般使用时,默认的是标准输出;1

例如,将某个程序的错误信息输出到log文件中?
./program 2>log。
这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它。

后台运行时候 会有个 nohup 但是使用nohup时,会自动将输出写入nohup.out文件中nohup.out自动增大 ;可以利用/dev/null来解决这个问题。

nohup ./program >/dev/null 2>log &
如果错误信息也不想要的话:
nohup ./program >/dev/null 2>&1 &
Linux下如何不停止WEB服务清空nohup.out文件;
第一种:cp /dev/null nohup.out
第二种:cat /dev/null > nohup.out

定时删除日志脚本命令;(删除时间)

cat rm-log.sh
#! /bin/bash find /var/log/ -mtime +3 -name *-2016* -exec rm -rf {} ;
chmod
+x rm-log.sh

 crontab 定时任务

0 1 * * * /opt/soft/log/rm-log.sh >/dev/null 2>&1

定时清空 nohup.out 文件;

vi /opt/del.sh

#! /bin/bash
cat /dev/null > nohup.out

chmod a+x del.sh
crontab -e
0 1 * * * /opt/del.sh >/dev/null 2>&1

以下方法将每10秒执行一次

# crontab -e
* * * * * /bin/date >>/tmp/date.txt
* * * * * sleep 10; /bin/date >>/tmp/date.txt
每分钟;
*/5 * * * * /opt/del_nohup.sh

每五分钟执行 */5 * * * *
每小时执行 0 * * * *

每天执行 0 0 * * *

每周执行 0 0 * * 0

每月执行 0 0 1 * *

每年执行 0 0 1 1 *
原文地址:https://www.cnblogs.com/sharesdk/p/9203609.html