CentoS7 安装篇九:定时任务

本文介绍如何编写一个脚本定期备份MySQL数据库,并将其通过Cronjob设置为服务器定时任务。涉及内容包括使用bash脚本、数据库连接、mysqldump命令、时间格式化和文件管理,以及如何在Linux服务器上配置cron定时任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定时任务调用脚本(以备份mysql为例)

#!/bin/bash
db_user="root"
db_passwd="xxxx"
#host="localhost"
DB_NAME=`/jysoft/mysql/mysql-8.0.25/bin/mysql  -u$db_user -p$db_passwd --socket=/jysoft/mysql/mysql-3406/data/mysql.sock --port=3406  -e "show databases"|egrep -v "*schema|Database|sys|mysql|phpmyadmin|metinfo"`
#备份目录
backup_dir="/data/backup/mysql/3406"
mkdir -p $backup_dir
#时间格式
time=$(date +"%Y-%m-%d-%H-%M")
#mysql 备份的命令,注意有空格和没有空格
for db_name in $DB_NAME
do
/jysoft/mysql/mysql-8.0.25/bin/mysqldump  -u$db_user -p$db_passwd --socket=/jysoft/mysql/mysql-3406/data/mysql.sock --port=3406  $db_name --quick --single-transaction  --set-gtid-purged=OFF |gzip > "$backup_dir/$db_name"-"$time.sql.gz"
#[ $? -eq 0 ] && echo "database $db_name has been backuped successful" || echo "database $db_name has been backuped failed"
if [ $? -eq 0 ]; then
 echo "database $db_name has been backuped successful"
else
 echo "database $db_name has been backuped failed"
fi
done
find $backup_dir -name  "*" -mtime +7 |xargs rm -rf

注意以上脚本内部参数,替换为你本机的

二、上传备份脚本至服务器某一个目录下

    我这里上传至   /jysoft/sh/   目录下

三、添加定时任务

 1. 执行命令

crontab  -e

2.写入定时任务调用的脚本及时间

*    *  *  *  *      .........
分  时 日 月 周      命令

 

0 4 * * * /jysoft/sh/backup3406.sh  > /dev/null 2>&1

3.赋权限

chmod +x backup3406.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mhi()

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值