crontab 定时任务
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
其中:
- minute: 表示分钟,可以是从0到59之间的任何整数。
- hour:表示小时,可以是从0到23之间的任何整数。
- day:表示日期,可以是从1到31之间的任何整数。
- month:表示月份,可以是从1到12之间的任何整数。
- week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
- command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
- 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
- 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
- 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
- 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
在/data/www 下创建cron.python 文件 代码如下
print 123
打开定时任务编辑器
crontab -e
编写每一分钟执行一次/data/www/cron.python 程序,把输出信息追加到/tmp/cron.log 文件中
输入以下内容
*/1 * * * * python /data/www/cron.python >> /tmp/cron.log
几分钟后查看/tmp/cron.loh 日志
tail -f /tmp/cron.log
查看crontab中有哪些定时任务
crontab -l
每小时的10分钟执行一次cron.python 程序
*/1 * * * * python /data/www/cron.python >> /tmp/cron.log 10 * * * * python /data/www/cron.python >> /tmp/cron_10.log
Ntpdate 日期同步
安装(如果输入ntpdate有的话,就不需要安装)
yum install ntp
执行以下命令
ntpdate cn.pool.ntp.org rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Logrotate 日志切割
修改logrotate的配置文件
cd /etc/logrotate.d/
可以看到这个目录下已经有很多程序的切割文件
ll
查看nginx日志切割
cat nginx
对nginx的日志进行切割
logrotate /etc/logrotate.d/nginx
查看
/var/log/nginx ll
supervisor进程管理
安装
sudo pip install supervisor
bash: pip: command not found的解决方法
执行以下命令
wget https://bootstrap.pypa.io/get-pip.py python get-pip.py
生成配置文件
mkdir /etc/supervisor echo_supervisord_conf > /etc/supervisor/supervisor.conf
编辑配置文件
vi /etc/supervisor/supervisor.conf
把最后一行改为
[include] files = /etc/supervisor/conf.d/*.ini;
配置启动redis的配置文件
cd /etc/supervisor/ mkdir conf.d/ cd conf.d vi redis.ini
配置内容如下
[program:redis] command=/usr/local/bin/redis-server autostart=true autorestart=true startssecs=3
启动supervisord
supervisord -c /etc/supervisor/supervisor.conf
查看supervisor有没有启动
ps -ef | grep sup