利用系统自带的 cron,做定时任务,主要是备份数据
查看当前任务
编辑(添加/删除)任务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| sudo crontab -e
# 例子:
#
# 每天每分钟执行job1一次
* * * * * /cron_jobs/job1 # Absolutely Path
# 每个星期一,早上 3:00 执行一次
0 3 * * 1 /cron_jobs/job2
# Format:
#
# 分 小时 天 月 星期几 命令
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
# 0 2 12 * 0,6
|
保存数据库数据
方法一:
定义文件/cron_jobs/bk_data
,
1
2
3
4
5
| #!/bin/bash
DATE=`date +%y_%m_%d_%H_%M_%S`
mongodump --out ./dump$DATE
tar -cf ./dump$DATE.tar ./dump$DATE
rm -rf dump$DATE
|
方法二: 进入项目数据库数据目录,
定义文件/cron_jobs/bk_data
,内容为
1
2
3
4
5
6
| #!/bin/bash
cd /data_path
DATE=`date +%y_%m_%d_%H_%M_%S`
git init ./
git add ./ -A
git commit -am "commit with cron in $DATE"
|
其中,方法一直接使用mongodb简单的整体备份方法,方法二则使用git进行差异化备份。无论方法一、方法二,还需要添加定时任务
赋权限chmod u+x /cron_jobs/bk_data
,通过crontab -e
添加任务:
1
| 0 3 * * 1 /cron_jobs/bk_data
|
另外有: https://github.com/javan/whenever