crontab命令

使用crontab进行定时数据备份

定时备份数据库:
1.既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!
存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;

df -h

2.创建备份目录:

cd /home
mkdir backup
cd backup

3.创建备份Shell脚本:

vi bkDatabaseName.sh
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz 对备份进行压缩

4、添加可执行权限

chmod u+x bkDatabaseName.sh

5、添加定时任务

crontab -e
*/1 * * * * /home/backup/bkDatabaseName.sh

sudo select-editor 修改默认编辑器

cron服务有关的调用命令如下

service cron start    //启动服务
service cron stop     //关闭服务
service cron restart  //重启服务
service cron reload   //重新载入配置
service cron status   //查看服务状态 
  • m 每个小时的第几分钟执行该任务
  • h 每天的第几个小时执行该任务
  • dom 每月的第几天执行该任务
  • mon 每年的第几个月执行该任务
  • dow 每周的第几天执行该任务 – command 指定要执行的程序
    示例:

分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command

还可以使用下列特殊字符,更细致的设定时间
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如
/10,如果用在minute字段,表示每十分钟执行一次。
设置执行频率为8-23点每小时的第5分钟执行一次:

5 8-23/1 * * * /home/myshell.sh

  

mysql备份:

#!/bin/bash
PATH=$PATH
/usr/bin/mysqldump -ubms  -pbms@2018  jh_rule > /home/weidj/jh_rule-backup/mysql/jh_rule_mysql_$(date +%Y%m%d_%H%M%S).sql



*/1  * * * *  /home/weidj/mysql_bak.sh   

postgres备份 

#!/bin/bash
PATH=$PATH
cur_time=$(date '+%Y%m%d_%H%M%S')
export PGPASSWORD=123456
echo "备份数据库":/home/weidj/jh_rule-backup/postgres/pg-jh_rule_$cur_time.sql
pg_dump -U postgres    jh_rule   -h  127.0.0.1     -p 15432  > /home/weidj/jh_rule-backup/postgres/pg-jh_rule_$cur_time.sql
echo "压缩数据库":/home/weidj/jh_rule-backup/postgres/pg-jh_rule_$cur_time.sql
tar jcvf     /home/weidj/jh_rule-backup/postgres/pg-jh_rule_$cur_time.sql.tar.bz2     /home/weidj/jh_rule-backup/postgres/pg-jh_rule_$cur_time.sql
echo "删除未压缩文件":/home/weidj/jh_rule-backup/postgres/pg-jh_rule_$cur_time.sql
rm  -rf  /home/weidj/jh_rule-backup/postgres/pg-jh_rule_$cur_time.sql
                                                                    


*/30  * * * *  /home/weidj/postgres_bak.sh

  

 

posted @ 2019-09-05 09:45  离人怎挽_wdj  阅读(204)  评论(0编辑  收藏  举报