shell 获取上个月月份的日期值
工作中有这样一个需求,每月一号将生产服务器中的数据备份到数据仓库中。之前是每月一号手动执行备份的命令,现在将其写成 shell 脚本,结合定时任务实现自动化备份。
以下为生产服务器上的脚本:
定时任务 shell 脚本 transform_data.sh.
注意 transform_data.sh 要赋予执行权限, X.X.X.X 为数据仓库的 ip 地址。
1
0 9 1 * * /root/transform_data.sh
1
2
3
4
5
6! /bin/sh
此脚本用于将10.3.0.98数据上的水机数据备份到10.2.46.247,结合定时任务执行
nowdate=`date +%Y%m01` #本月第一天
lastyearmonth=`date -d"$nowdate last month" +%Y%m` #显示年和上月月份值,如:201901
echo "rsync -av /usr/local/mysql/water/slave_status_$lastyearmonth* X.X.X.X:/var/lib/mysql/water_gprs_backup"