实现准备
1
2
3
4
5
6
7
8
9
|
# 需要备份文件路径:/opt/apollo/logs/access_log [root@localhost opt] # cd apollo/ [root@localhost apollo] # tree . ├── logs │ └── access_log └── test .sh # 文件备份存放路径:/tmp/logs # 备份文件加上时间戳date + %Y%m%d%H%M%S |
1.编写shell脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
[root@localhost tmp] # vi /opt/apollo/test.sh # 编译器 # !/bin/bash # 日志备份到该目录下,定义变量使用单引号 mypath= '/tmp/logs' # 回应/tmp/logs echo ${mypath} # 要备份的日志 mylog= '/opt/apollo/logs/access_log' # 回应/opt/apollo/logs/access_log echo ${mylog} # 时间戳,执行命令使用``,esc下面的 time =` date +%Y%m%d%H%M%S` # 回应时间戳 echo ${ time } # 备份日志access_log到/tmp/logs路径下 cp ${mylog} ${mypath}/${ time }_access.log # 回应 echo ${mypath} ${mypath}/${ time }_access.log |
2.执行test.sh
1
2
|
[root@localhost apollo] # ./test.sh - bash : . /test .sh: Permission denied |
3.执行ls -la
1
2
3
4
5
|
[root@localhost apollo] # ls -la total 8 drwxr-xr-x 2 root root 21 Jan 20 08:00 . drwxr-xr-x. 14 root root 4096 Jan 20 07:07 .. -rw-r--r-- 1 root root 489 Jan 20 08:00 test .sh |
4.给文件test.sh赋与执行权限
1
2
3
4
5
6
|
[root@localhost apollo] # chmod +x ./test.sh [root@localhost apollo] # ls -la total 8 drwxr-xr-x 2 root root 21 Jan 20 08:00 . drwxr-xr-x. 14 root root 4096 Jan 20 07:07 .. -rwxr-xr-x 1 root root 489 Jan 20 08:00 test .sh |
5.再次执行,脚本没有报错
1
2
3
4
5
|
[root@localhost apollo] # ./test.sh /tmp/logs /opt/apollo/logs/access_log 20190120080932 /tmp/logs /tmp/logs/20190120080932_access .log |
6.编辑定时任务
1
2
3
|
[root@localhost logs] # crontab -e no crontab for root - using an empty one crontab : installing new crontab |
7.查看定时任务
1
2
|
# 每分钟执行一次test.sh * * * * * sh /opt/apollo/test .sh |
8.重启crond
1
2
3
|
[root@localhost logs] # service crond reload Redirecting to /bin/systemctl reload crond.service You have new mail in /var/spool/mail/root |
9.编写文件access_log
1
2
3
4
5
6
|
# 需要备份文件路径: /opt/apollo/logs/access_log # 编辑文件 [root@localhost logs] # vi /opt/apollo/logs/access_log # 追加内容如下: mmmmmmmmmmmmmmmmmmmmm |
10.过1分钟,再去查备份存放目录
1
2
3
|
[root@localhost logs] # cat 20190120083101_access.log djddjsjsjsjjsjsjsj mmmmmmmmmmmmmmmmmmmmm |
11.到此为止,定时备份任务完成.
恭喜你,学会备份了!
12.删除定时任务
1
2
|
[root@localhost logs] # crontab -r You have new mail in /var/spool/mail/root |
13.查看定时任务
1
2
|
[root@localhost logs] # crontab -l no crontab for root |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://segmentfault.com/a/1190000017959261