1.编写一个脚本
#!/bin/bash
#日志存放位置
path='/var/local/rcserver/1'
#日志备份保存位置
path1='/var/local/rcserver/1'
# 获取当前年信息和月信息
day=$(date -d yesterday +"%Y-%m")
#获取昨天的日信息
day1=$(date -d yesterday +"%d")
#按年月创建文件夹
mkdir -p $path/$day
#备份昨天的日志到当月的文件夹
mv $path/linuxprobe.txt $path1/$day/linuxprobe_$day1.txt
#输出备份日志文件名
#echo $path/$day/linuxprobe_$day1.txt
#生产任务程序不要随意打印输出信息
#注:如是日志文件,则mv移动后,以前的日志文件将不再存在,则需要重启服务,重新生成日志。(可添加一行代码重启服务,如:server sshd restart)
2.给脚本可执行权限
chmod 777 1.sh
执行脚本
./1.sh
3.将脚本加入定时任务中
crontab命令概念
crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
* * * * * command
minute hour day month week command
分 时 天 月 星期 命令
星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
运行crontab –e 编写一条定时任务(如这里写的就是每天0点1的时候执行这个脚本)
运行crontab –l查看
运行crontab –r 删除当前用户定时任务(注意:这里删除是直接把当前用户的定时任务全部删完,删除一条数据,可以运行crontab –e 进行编辑)