ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tomcat的备份脚本

2019-03-02 14:49:31  阅读:298  来源: 互联网

标签:脚本 27 22 tomcat 31 172 ec2 备份 user


reference:Crontab的20个例子

 

先科普一下date的使用方法,在sh脚本中经常会使用得到

date

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息。
 
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
 
在输出中如果要有空格,后面的格式语句必须是双引号包括的,不能是{}大括号
date +"%Y-%m-%d %H:%M"  输出:  2019-02-22 15:45
date +{%Y-%m-%d %H:%M}  就会报错:date: extra operand ‘%H:%M}’
 
crontab –e  输入下面的计划,每天20点备份上传一次tomcat log文件

0 20 * * * /home/ec2-user/backuptomcat.sh >>/home/ec2-user/backtomcat.log

检查发现到时间没起作用,查看crond日志

[ec2-user@ip-172-31-27-98 ~]$ tail -F /var/log/cron
Feb 22 14:01:01 ip-172-31-27-98 run-parts(/etc/cron.hourly)[8878]: finished 0anacron
Feb 22 14:01:49 ip-172-31-27-98 crontab[8885]: (ec2-user) BEGIN EDIT (ec2-user)
Feb 22 14:02:09 ip-172-31-27-98 crontab[8885]: (ec2-user) END EDIT (ec2-user)
Feb 22 14:02:43 ip-172-31-27-98 crontab[8889]: (ec2-user) BEGIN EDIT (ec2-user)
Feb 22 14:03:08 ip-172-31-27-98 crontab[8889]: (ec2-user) REPLACE (ec2-user)
Feb 22 14:03:08 ip-172-31-27-98 crontab[8889]: (ec2-user) END EDIT (ec2-user)
Feb 22 14:03:13 ip-172-31-27-98 crontab[8893]: (ec2-user) LIST (ec2-user)
Feb 22 14:04:01 ip-172-31-27-98 crond[4057]: (ec2-user) RELOAD (/var/spool/cron/ec2-user)
Feb 22 14:11:49 ip-172-31-27-98 crontab[8918]: (ec2-user) BEGIN EDIT (ec2-user)
Feb 22 14:11:58 ip-172-31-27-98 crontab[8918]: (ec2-user) END EDIT (ec2-user)
:q
^C
[ec2-user@ip-172-31-27-98 ~]$ date
Fri Feb 22 22:12:15 CST 2019

原来我之前把服务器的时区修改了,但是没有出去crond,导致crond还是以旧时区运行。重启crond:

[ec2-user@ip-172-31-27-98 ~]$ sudo service crond restart
Redirecting to /bin/systemctl restart crond.service
[ec2-user@ip-172-31-27-98 ~]$ tail -F /var/log/cron
Feb 22 14:03:08 ip-172-31-27-98 crontab[8889]: (ec2-user) REPLACE (ec2-user)
Feb 22 14:03:08 ip-172-31-27-98 crontab[8889]: (ec2-user) END EDIT (ec2-user)
Feb 22 14:03:13 ip-172-31-27-98 crontab[8893]: (ec2-user) LIST (ec2-user)
Feb 22 14:04:01 ip-172-31-27-98 crond[4057]: (ec2-user) RELOAD (/var/spool/cron/ec2-user)
Feb 22 14:11:49 ip-172-31-27-98 crontab[8918]: (ec2-user) BEGIN EDIT (ec2-user)
Feb 22 14:11:58 ip-172-31-27-98 crontab[8918]: (ec2-user) END EDIT (ec2-user)
Feb 22 14:13:42 ip-172-31-27-98 crond[4057]: (CRON) INFO (Shutting down)
Feb 22 14:13:42 ip-172-31-27-98 crond[8944]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 54% if used.)
Feb 22 14:13:42 ip-172-31-27-98 crond[8944]: (CRON) INFO (running with inotify support)
Feb 22 14:13:42 ip-172-31-27-98 crond[8944]: (CRON) INFO (@reboot jobs will be run at computer's startup.)

还是不行,网上搜索,解决办法参考:crontab执行时区与系统时间不一致问题

可能是rsyslog日志服务没有重启,那就重启rsyslog,然后再重启crond,问题解决

[root@ip-172-31-27-98 ec2-user]# service rsyslog restart
Redirecting to /bin/systemctl restart rsyslog.service
[root@ip-172-31-27-98 ec2-user]# service crond restart
Redirecting to /bin/systemctl restart crond.service
[root@ip-172-31-27-98 ec2-user]# exit
exit
[ec2-user@ip-172-31-27-98 ~]$ tail -F /var/log/cron
Feb 22 14:13:57 ip-172-31-27-98 crontab[8947]: (ec2-user) LIST (ec2-user)
Feb 22 14:14:37 ip-172-31-27-98 crond[8944]: (CRON) INFO (Shutting down)
Feb 22 14:14:49 ip-172-31-27-98 crond[8999]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 26% if used.)
Feb 22 14:14:49 ip-172-31-27-98 crond[8999]: (CRON) INFO (running with inotify support)
Feb 22 14:14:49 ip-172-31-27-98 crond[8999]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
Feb 22 14:15:22 ip-172-31-27-98 crontab[9003]: (ec2-user) LIST (ec2-user)
Feb 22 22:16:15 ip-172-31-27-98 crond[8999]: (CRON) INFO (Shutting down)
Feb 22 22:16:15 ip-172-31-27-98 crond[9058]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 91% if used.)
Feb 22 22:16:15 ip-172-31-27-98 crond[9058]: (CRON) INFO (running with inotify support)
Feb 22 22:16:15 ip-172-31-27-98 crond[9058]: (CRON) INFO (@reboot jobs will be run at computer's startup.)

标签:脚本,27,22,tomcat,31,172,ec2,备份,user
来源: https://www.cnblogs.com/daxi33/p/10461025.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有