crontab命令

使用crontab进行定时数据备份python

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

df -h

2.建立备份目录:sql

cd /home
mkdir backup
cd backup

3.建立备份Shell脚本: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 对备份进行压缩

四、添加可执行权限数据库

chmod u+x bkDatabaseName.sh

五、添加定时任务安全

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

sudo select-editor 修改默认编辑器bash

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 commanddom

还可使用下列特殊字符,更细致的设定时间
星号(*):表明全部可能的值,例如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
相关文章
相关标签/搜索