一 、crontab 添加定时任务
crontab -e 是编辑
首先在定时任务中添加定时任务 每天凌晨俩点开始执行
五个星分别代表分、时、日、月、周
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
,散列数字(很少用到)在具体可以Linux Crontab 定时任务中查看
00 02 * * * source /home/bak_hxqmxinsql.sh
* 06 * * * php /home/wwwroot/locate/schoolBracelet/start.php start -d #每天早上6点开始跑socket定位程序
* 20 * * * php /home/wwwroot/locate/schoolBracelet/start.php stop #每天晚上8点停止跑socket定位程序
二、xshell 写法
创建文本 vi bak_hxqmxinsql.sh touch bak_hxqmxinsql.sh 都可以
创建文件夹 mkdir mysql_xin
#!/bin/bash
mysqldump -uroot -p'密码' 数据库 > /home/mysql_xin/前缀_$(date +%Y%m%d_%H%M%S).sql
#
find /home/mysql_xin -name "前缀_*.sql" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1
行含义 :连接指定数据库 > 备份位置 名字 (前缀加时间缀)
第二行含义:备份位置 -name自定义备份文件前缀标识
-type f 表示查找普通类型的文件,f表示普通文件。
-mtime +7 按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前。
-exec rm {} ; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个,后是一个分号。
/dev/null 2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的&表示让该命令在后台执行。
三、添加权限
给xshell 文件添加权限 chmod +x /home/bak_hxqmxinsql.sh
四、查看备份
五、也可以进行压缩备份(亲自亲测有效)
#!/bin/bash
mysqldump -u账号 -p'密码' 数据库 | gzip > /home/crm_mysql/crm_$(date +%Y%m%d_%H%M%S).sql.gz
#
find /home/crm_mysql -name "crm_*.sql.gz" -type f -mtime +2 -exec rm {} \; > /dev/null 2>&1
七、压缩命令
经常记不住 用的比较少 sql 好压缩成sql.gz格式
gzip file1.txt 压缩后原文件消失
压缩的时候,显示压缩率
[root@hxqm mysql_xin]# gzip -v hxqm_20210413_020002.sql(不保留原文件)
hxqm_20210413_020002.sql: 88.4% -- replaced with hxqm_20210413_020002.sql.gz
一条命令压缩多个文件,压缩之后,是各自分开的(没有测试过)
gzip file1.txt file2.txt
压缩过程中,保留原文件
gzip -k file1.txt
解压
gunzip buodo.gz