Linux环境下实现数据定时备份

[TOC]

cron介绍

我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。

  • /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
  • /etc/crontab 这个文件负责调度各种管理和维护任务。
  • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
  • 我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次,也可手动执行run-parts 命令执行相关脚本 ,如:run-parts /etc/cron.weekly/(注意,将会执行目录下的所有任务)

定时备份nexus

新建cron脚本备份目录

mkdir -p /root/backup_cron

新建nexus备份脚本

cd /root/backup_cron
touch backup_nexus.sh;
# 输入下述内容

# begin 
# nexus文件目录位置
source_nexus_path=/home/nexus

# 备份时间,默认为当前日期
backup_date=`date +%Y-%m-%d`
# 每次备份的时间间隔,用于删除以前的备份文件
backup_interval=7;
# 备份开始时间
backup_start_time=$(date +%s);

echo '$(date "+%Y-%m-%d %H:%M:%S") 开始备份nexus【'$backup_date'】数据';

# 创建备份目录
echo $(date "+%Y-%m-%d %H:%M:%S") '开始创建nexus【'$backup_date'】备份目录';
mkdir /data/backup/nexus/`date +%Y-%m-%d`
echo $(date "+%Y-%m-%d %H:%M:%S")  'nexus【'$backup_date'】备份目录创建成功';

cd /home/nexus;
echo $(date "+%Y-%m-%d %H:%M:%S")  '开始备份【nexus-3.66.0-02】目录';
cp -r nexus-3.66.0-02 /data/backup/nexus/`date +%Y-%m-%d`
echo $(date "+%Y-%m-%d %H:%M:%S")  '结束备份【nexus-3.66.0-02】目录';

echo $(date "+%Y-%m-%d %H:%M:%S") '开始备份【nexus.properties】文件';
cp nexus.properties /data/backup/nexus/`date +%Y-%m-%d`
echo $(date "+%Y-%m-%d %H:%M:%S")  '结束备份【nexus.properties】文件';

echo $(date "+%Y-%m-%d %H:%M:%S") '开始备份【sonatype-work】目录';
cp -r sonatype-work /data/backup/nexus/`date +%Y-%m-%d`
echo $(date "+%Y-%m-%d %H:%M:%S") '结束备份【sonatype-work】目录';

# 删除以前的备份
need_delete_backup_dir=`date -d "-$backup_interval day" +"%Y-%m-%d"`;
echo $(date "+%Y-%m-%d %H:%M:%S") '开始删除nexus历史备份【'$need_delete_backup_dir'】';
rm -rf /data/backup/nexus/`date -d "-$backup_interval day" +"%Y-%m-%d"`
echo $(date "+%Y-%m-%d %H:%M:%S") '结束删除nexus历史备份【'$need_delete_backup_dir'】';

# 结束备份时间
backup_end_time=$(date +%s);

# 计算时间差,单位:秒
time_diff=$((backup_end_time - backup_start_time))

echo $(date "+%Y-%m-%d %H:%M:%S") 'nexus【'$backup_date'】数据已备份完成,耗时:【'$time_diff'】s';

# end

# 授予可执行权限
chmod 755 backup_nexus.sh 

添加定时任务

crontab -e
# 添加以下脚本并保存(时间可自行调整),并删除记录日志
# 每周六晚上11点执行脚本
0 23 * * 6 /root/backup_cron/backup_nexus.sh >> /root/backup_cron/backup_nexus.log 2>&1;
# 重载定时任务
systemctl restart crond;
# 查看编写的定时任务
crontab -l;
0 23 * * 6 /root/backup_cron/backup_nexus.sh >> /root/backup_cron/backup_nexus.log 2>&1;

参考:
Linux crontab 命令参考
Linux Crontab 定时任务参考

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇