Linux配置定时执行指定脚本
在Linux下,有时需要定时执行一些任务,如定时检测系统资源信息、定时备份数据库等操作,可以借助crontab命令,其基本命令格式如下:
* * * * * {命令}
第一个*表示每xx(1-59)分钟,每分钟用*或*/1表示
第二个*表示每xx(0-23)小时
第三个*表示日期,1-31
第四个*表示月份,1-12
第五个*表示星期x(0-6, 0为星期日)
{命令}为要执行的命令或脚本
crontab有如下几个常用参数:
-l: 列出用户目前的crontab
-e: 编辑当前用户的crontab
-d: 删除当前用户的crontab
在CentOS系统下,crontab命令的文件存放在目录/var/spool/cron下,每个用户的crontab一个文件,如下所示:
使用-e编辑任务保存后,查看当前用户的定时任务列表如下:
表示每天的3点45分执行shell脚本来备份数据库,脚本大致内容如下:
#!/bin/bash
date_now=$(date +%Y%m%d%H%M)
db_user=xxx
db_port=xxx
db_host=xxx
db_pwd=xxx
db_name=xxx
echo “Starting …”
start=date +%s
/usr/local/mysql/bin/mysqldump -u{db_host} -P{db_pwd} --hex-blob -R -E --single-transaction -B KaTeX parse error: Expected 'EOF', got '&' at position 23: …e}</span>|gzip &̲gt; /backup_pat…{db_name}_${date_now}.sql.gz
end=date +%s
dif=$[ end - start ]
echo "备份时间: " {db_name} " ,耗时: " ${dif} “s” >> /xx/xxx/backup_db_info.txt
保存shell脚本增加x可执行权限后即可。
改进点:
1. 备份多个数据库,可以考虑用for循环
2. 如上是全库结构加数据库备份(可加-d参数只备份结构),数据量大的话时间会长,可以修改只备份重要数据表,其他小表可以另外时间备份,修改脚本或增加多一个定时任务即可。
上一篇: 算法-搜素插入位置
下一篇: 双向链表及其基本操作
推荐阅读
-
Linux配置定时执行指定脚本
-
python定时循环执行函数,定时循环执行脚本
-
Linux使用篇---vsftp服务配置(禁锢用户目录移动、指定用户登录权限、设置虚拟ftp登录)
-
Win10定时执行Python脚本发送QQ邮件
-
linux shell脚本中切换用户执行命令方法 博客分类: shell shelllinux切换用户命令
-
Linux + Thinkphp 执行定时任务 linux crond php thinkphp
-
检查Linux下的所有用户的crontab定时任务脚本
-
Linux下用expect实现ssh自动登录并执行脚本 博客分类: Linux linuxexpect脚本ssh自动登录
-
shell 脚本执行问题总结 博客分类: linux linux shell crontab
-
shell 脚本执行问题总结 博客分类: linux linux shell crontab