centos 添加定时任务

1. 查看当前用户的定时任务

crontab -l

如果想编辑:

crontab -e

2. 创建任务脚本

创建脚本文件,比如:/www/corn/myjob 文件内容如下:

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
sudo -u root bash -c '#!/bin/bash

# 进入你的Django项目目录
cd /www/wwwroot/projectpath

# 激活虚拟环境(如果你使用了虚拟环境)
#source ~/webenv/bin/activate

# 运行Django管理命令,替换your_command为你需要执行的命令
/root/webenv/bin/python manage.py sys_routine'

echo "----------------------------------------------------------------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "★[$endDate] Successful"
echo "----------------------------------------------------------------------------"

修改定时任务

每5分钟允许一次

*/5 * * * *  /www/corn/myjob  >> /www/corn/myjob .log 2>&1

crontab的命令构成为 时间+动作,其时间有 五种,操作符有

* 取值范围内的所有数字

/ 每过多少个数字

- 从X到Z

,散列数字

实例

实例1:每1分钟执行一次myCommand

* * * * * myCommand

实例2:每小时的第3和第15分钟执行

3,15 * * * * myCommand

实例3:在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * myCommand

实例4:每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2  *  * myCommand

实例5:每周一上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 myCommand

实例6:每晚的21:30重启smb

30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb

45 4 1,10,22 * * /etc/init.d/smb restart

实例8:每周六、周日的1 : 10重启smb

10 1 * * 6,0 /etc/init.d/smb restart

实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb

0,30 18-23 * * * /etc/init.d/smb restart

实例10:每星期六的晚上11 : 00 pm重启smb

0 23 * * 6 /etc/init.d/smb restart

实例11:每一小时重启smb

0 */1 * * * /etc/init.d/smb restart

实例12:晚上11点到早上7点之间,每隔一小时重启smb

0 23-7/1 * * * /etc/init.d/smb restart

定时备份数据库

1 写一个备份数据库的脚本 backup_db.sh

#!/bin/bash
# 数据库备份脚本
DB_NAME="your_database_name"  # 替换为你的数据库名
DB_USER="your_database_user"  # 替换为你的数据库用户名
DB_PASS="your_database_password" # 替换为你的数据库密码
BACKUP_DIR="/www/backup/database" # 备份目录,请根据实际情况修改
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/${DB_NAME}_${DATE}.sql"

# 创建备份目录
mkdir -p $BACKUP_DIR

# 执行备份
/usr/bin/mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE

echo "数据库 $DB_NAME 备份完成,文件保存在: $BACKUP_FILE"

2 给脚本允许权限

chmod +x backup_db.sh

3 添加到定时任务

输入crontab -e 编辑定时任务

添加 每晚1:30 运行脚本并把运行结果保存到/root/backup_tkqd.log文件

30 1 * * *  root /root/backup_tkqd.sh >> /root/backup_tkqd.log 2>&1

文档信息

版权声明:可自由转载(请注明转载出处)-非商用-非衍生

发表时间:2025年8月9日 11:34