欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

crontab 学习 自己整理 有大用 有大大用

shiping1 的头像

crontab的目录
  /var/spool/cron



crontab -u root -e
进行编辑 crontab

使用crontab -e 编辑当前用户的cron文件
使用crontab -l 查看当前用户的cron文件

1)建一个crontab要执行的文件 /var/spool/cron/shiCrontab.bat
内容为
1 12 * * 1,4,0 /bin/bash /var/spool/cron/tarFile

2)再建一个叫做 /var/spool/cron/tarFile的文件
内容为
    DATE=`date +%C%y-%m-%d-%H:%M:%S`
    tar -cvzf /home/hosts_backup/1520/9/81506779.com.$DATE.tar.gz /home/ftp/1520/81506779-20121012-cyv/81506779.com/*

3)crontab /var/spool/cron/shiCrontab.bat
(crontab shiCrontab.bat)
(把shiCrontab.bat交给cron进程)

4)[root@localhost ~]# /etc/init.d/crond restart
重启cron服务器




0 12 * * 2,4,0 /bin/bash /var/spool/cron/tarFile
0 12 * * 2,4,0 /bin/bash /var/spool/cron/tarFile2

//应该是下一行 没有什么分号




crontab的目录
  /var/spool/cron



crontab -u root -e
进行编辑 crontab


进入到 /var/spool/cron/ 目录

1)建一个crontab要执行的文件 /var/spool/cron/shiCrontab.bat
内容为
1 12 * * 1,4,0 /bin/bash /var/spool/cron/tarFile

2)再建一个叫做 /var/spool/cron/tarFile的文件
内容为
    DATE=`date +%C%y-%m-%d-%H:%M:%S`
    tar -cvzf /home/hosts_backup/1520/9/81506779.com.$DATE.tar.gz /home/ftp/1520/81506779-20121012-cyv/81506779.com/*

3)crontab /var/spool/cron/shiCrontab.bat
(crontab shiCrontab.bat)
(把shiCrontab.bat交给cron进程)

4)[root@localhost ~]# /etc/init.d/crond restart
重启cron服务器
cd


5)crontab -l 查看crontab进程
crontab -e 编辑crontab进程

/usr/local/mysql/bin/mysqldump -u 81506779 -p4000512   81506779 > /home/hosts_backup/1520/9/81506779.`date +%Y%m%d_%H.%M.sql`
这就导出了以日期名的sql文件

6)是不是每次设置后都要进行     3)(把shiCrontab.bat交给cron进程 这个应该不是每次交给cron进程,只有在首次的时候才需要交给cron )
        和4)(重启cron服务器)
每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件不可以直接编辑,只可用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。官方说因此此文件修改后不需要重新启动cron服务。但是好像有人实践后说需要 ,
但是我实践后,不需要重启.



0 12 * * 2,4,0 /bin/bash /var/spool/cron/tarFile
10 12 * * 2,4,0 /usr/local/mysql/bin/mysqldump -u 81506779 -p4000512 81506779  > /home/hosts_backup/1520/9/81506779.`date+%Y%m%d_%H.%M.sql`




下面的crontab内存是备份数据库用的 肯定有大用

0 2 * * * /bin/bash /root/backupsql.sh

/root/backupsql.sh的内容为下面 (记住mysqldump是全路径 如果不是全路径的话shell可以执行 但是crontab不能执行 waaaacn 是数据库名)

#!/bin/sh
backup_mysql="/home/backup/mysql/waaaacn/"
backup_mysqlname="waaaacn`date  '+%Y%m%d'`.sql";
/www/wdlinux/mysql-5.1.61/bin/mysqldump -u root -p*\(_\)78u%%%fhfdff89 waaaacn> $backup_mysql$backup_mysqlname
 




下面是删除15天内的备份的数据库文件
0 3 * * * find /home/backup/mysql/waaaacn -mtime +15 -name "*.sql" -exec rm -rf {} \;
 



普通分类: