linux crontab 定时器,备份数据库、程序。新手初学。。。

一、crontab


1、查看crontab状态

命令:service crond status


2、编辑crontab

首先设置crontab 编辑器

修改/etc/profile文件

在文件尾部加入

EDITOR=vi


命令:crontab -e 


格式:

# 注释

* * * * * command(分,时,天,月,年 命令) 。

如果是从windows上传到linux的crontab文件。编辑时需要 :set ff=unix,否则,定时器执行不成功


3、删除所有crontab 任务

crontab -r(此命令会删除所有的任务,如果要删除单条,请crontab -e 进入vi编辑器删除)

二、备份shell 脚本

思路:获取mysql所有数据库数组,mysqldump到指定文件夹。压缩所有数据库为一个包含日期的zip压缩包。
并删除文件夹内的sql文件。(脚本要排除mysql自带的mysql、information_schema、performance_schema 数据库)
脚本如下
#!/bin/sh
cd /var/www/mysql_backup
rm -rf *     # 删除之前的数据库压缩包。
db_user="root"
db_pw="123456" #变量存数据库账号喻密码
DB_array=$(mysql -uroot -p123456 -Bse 'show databases') #获取一个包含所有数据库的字符串
arr=(${DB_array// /}) #
for db_name in ${arr[*]}
do 
if [ $db_name == 'mysql' -o $db_name == 'information_schema' -o $db_name == 'performance_schema' ] 
 #删除自带数据库
then
continue
else
newdb_name=${db_name}_`date +%Y%m%d` #下载后的数据库命名。
cd /var/www/mysql_backup
mysqldump -u${db_user} -p${db_pw} ${db_name} > ${newdb_name}.sql 
#mysql dump -u用户 -p密码 数据库 > 下载后数据库名字
fi
done
zipname=mysql_`date +%Y%m%d`
zip -r ${zipname} ./* #创建压缩包
rm -f *.sql  #删除所有sql文件。

注意:从windows编辑传过linux的脚本,需要进入vi 编辑器,set ff=unix。
否则文件名后,会多一个^M的玩意。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值