1.一次性任务-at
yum -y install at
systemctl start atd
systemctl enable atd
at 23:30
tar zcf /backup/etc-boot_$(date +%F).tar.gz /etc /boot
ctrl+d
atq #列出所有at任务
atrm #删除at任务
at -c 2 #显示第二条at任务内容
2.batch:
batch直接调用at运行计划任务;
batch不同于at的地方仅在于其所生成的任务计划是在系统空闲时执行的,
故batch命令后不能指定时间。
batch
tar zcf /backup/etc-boot_$(date +%F).tar.gz /etc /boot
ctrl+d
3.crond
周期性计划任务
yum -y install crontabs #crontab程序包
crontab -e -u 用户名
0-59 0-23 1-31 1-12 0-7 命令
分 时 日 月 周
* * * * * 每分钟
2,5,7,9 3 * * * 每天的3点31分
//通常表示时间技巧:
*:表示任何时刻都接受的意思,所有时间段位上不能同时为*
数字:表示具体某一小时某一分钟等,如 8 8 8 8 * 表示每年的8月 8日8时8分
,:表示分隔时段,表示一段时间范围,如 8 9,13 * * * 表示每天
9:08和13:08
*/: 在对应的时间位的有效取值上每#一次,如 */8 * * * * 表示每
8分钟一次
-:某个时间位上的连续区间,如 10-50/8 * * * * 表示第10分和
第50分之间每8分钟一次
案例:
mysql数据库:
每周日晚上23:30做一次完整备份;
周一到周六晚上23:30做增量备份(扩展,自己查)
1.安装mysql5.7(参照第五章笔记二进制安装)
2.改密码
mysql_secure_installation
mysqladmin -u root -p password
3.复制world.sql到/root,登录数据库
mysql -uroot -p123.com
source /root/world.sql
授权 所有权限 库名.表名 用户 主机名 密码
grant all on test.* to lisi@'%' identified by '123456';
%表示任何人都能访问
插入 删除 更新 查询 创建 删除
all = insert + delete + update + select create drop
4.查看库,切换库,查看表
show databases; 查看数据库名
create database world; 创建数据库
use world; 进入数据库
show tables; 查看表名称
desc 表名称 查看表结构
create table stu(id int,name varchar(20);
insert into stu values(1,'zhangsan'); 向表中插入数据
select * from stu; 查看表的内容
5.创建备份脚本
mkdir /sh
vim /sh/backup.sh
#!/bin/bash
/usr/local/mysql/bin/mysqldump -uroot -p123.com --all-databases > /backup/mysql_$(date +%F).sql
6.创建计划任务
crontab -e
30 23 * * 0 /bin/bash /sh/backup.sh
crontab -l 查看计划任务
crontab -r 删除计划任务