江门市网站建设_网站建设公司_数据统计_seo优化
2026/1/16 18:09:39 网站建设 项目流程

简单定时任务shell

脚本内容:

#!/bin/bash

# MySQL数据库备份脚本

# 基础配置信息

db_user="root"

db_password="04551Jhh@"

db_name="simple_shop"

keep_days=7

backup_dir="/opt/backups"

# 备份文件名为时间戳(修正了命令替换语法)

timestamp=$(date '+%Y%m%d_%H%M%S')

# 拼接完整的备份文件路径和名称

backup_file="${backup_dir}/${db_name}_${timestamp}.sql"

# 创建备份目录

mkdir -p "$backup_dir"

echo "开始备份数据库:$db_name"

# 执行备份(添加密码参数)

mysqldump -u"$db_user" -p"$db_password" "$db_name" > "$backup_file"

# 检查备份是否成功

if [ ! -s "$backup_file" ]; then

echo "错误:备份文件为空,可能备份失败"

exit 1

fi

echo "备份完成: $backup_file"

echo "正在压缩备份文件"

gzip "$backup_file"

compressed_file="${backup_file}.gz"

echo "压缩完成: $compressed_file"

# 清理旧备份

echo "清理 $keep_days 天前的备份..."

find "$backup_dir" -name "${db_name}_*.sql.gz" -mtime +"$keep_days" -delete

# 显示结果

echo "当前备份文件:"

ls -lh "${backup_dir}/${db_name}"_*.sql.gz 2>/dev/null || echo "没有找到备份文件"

上述为脚本内容

定时任务通过 crontab -e 进行设置

CRONTAB时间格式:

* * * * * command_to_execute

- - - - -

| | | | |

| | | | +----- 星期几 (0 - 7) (星期天为0或7)

| | | +---------- 月份 (1 - 12)

| | +--------------- 日 (1 - 31)

| +-------------------- 小时 (0 - 23)

+------------------------- 分钟 (0 - 59)

实例举例说明:

# 每分钟执行一次

* * * * * /path/to/script.sh

# 每小时的第30分钟执行30 * * * * /path/to/script.sh

# 每天凌晨2点执行0 2 * * * /path/to/script.sh

# 每天凌晨2点30分执行30 2 * * * /path/to/script.sh

Crontab -l 查看定时任务。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询