Crontab的简单命令详解

crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

Crontab示例1

使用CentOS,遇到本地时间对不上,直接敲命令:date -s “2019-04-19 19:19:19”是立即生效了,但是重启后,系统时间还是原来的。在不用更改时区的情况下,就可以用到时间同步的命令并加入定时计划任务中。

时间命令

1
2
3
4
5
date                                         //查看本地时间 
hwclock --show //查看硬件时间
hwclock --set --date '2019-04-19 19:19:19' //设置硬件时间
hwclock --hctosys //设置系统时间和硬件时间同步
clock -W //保存时钟

定时系统时间与硬件时间同步

1
*/3 * * * * /sbin/hwclock --hctosys    每三分钟设置系统时间和硬件时间同步

Crontab示例2

使用crontab定时任务计划备份数据库
当docker服务器上安装mysql后 往往面临着数据备份这个问题,我们通常是把mysql目录映射到本地文件夹上的 虽然是这样 但是用这个文件恢复数据是不行的 所以我们通常的做法是用mysqldump命令来备份数据库

1
docker exec -it  mysql(容器名称)  mysqldump -uroot -proot(密码)  test(要备份数据库名称)>/home/mysql/test.sql

这样的命令单独执行没问题 但是在crontab中执行就不行 所以可以用下面的命令执行

1
docker exec mysql(容器名称)  sh -c 'exec mysqldump  -uroot -p"$MYSQL_ROOT_PASSWORD" test' > /home/mysql/back/test$(date +%Y%m%d).sql