crontab简介
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。 通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
crontab用法
crontab的格式如下面:
代码如下 | 复制代码 |
f1 f2 f3 f4 f5 program |
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行程式的路径。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推
管理员登录SSH,输入命令crontab -e编辑crontab文件,根据上面的格式输入并保存。
下面说下常见的备份方法:
1. 文件备份
用tar命令压缩文件做备份:
代码如下 | 复制代码 |
#tar -zcvf backup.tar.gz dir1 |
dir1为要备份的目录或者文件
备份恢复的命令:
代码如下 | 复制代码 |
#tar -zxvf backup.tar.gz |
2. 数据库备份
大多数数据库系统有命令支持数据库的备份和恢复. 比如mysql, 数据库的备份命令为:
代码如下 | 复制代码 |
#mysqldump -host=dbhost -user=username -password=password dbname > db.dump mysql备份的恢复命令为: #mysql -host=dbhost -user=username -password=password dbname < db.dump |
3. 自动任务定时备份
先利用上面的命令写一个备份的脚本(比如/home/backup/backup.sh),然后用crontab -e命令来编辑定时任务,下面是第天01:30自动备份的例子
代码如下 | 复制代码 |
30 01 * * * /home/backup/backup.sh |
4.备份文件的命名
可以为每天的备份文件名上自动加入备份的时间,下面是一个示例的脚本:
代码如下 | 复制代码 |
#! /bin/bash curr=`date +%Y%m%d%H%M%S` tar czvf backup_$curr.tar.gz dir1 dir2 mysqldump -host=dbhost -user=username -password=password dbname > db_$curr.dump |