关于LINUX操作系统的crontab配置。
发布网友
发布时间:2022-03-20 10:50
我来回答
共4个回答
热心网友
时间:2022-03-20 12:20
准备好了吗?请备份你的 Linux 系统一、我们需要备份什么?
我的 Linux 系统是基于 Redhat 的Redhat Linux 9.0,同时配置了诸如 MySQL、PHP、Apache 等基础服务,同时又配有 Awstats、MRTG、MT 等应用服务程序,因此,我们需要备份的除了系统本身的重要文件以外,还需要备份数据库、log文件和统计数据文件等。当然另外一项必不可少的就是编译各项服务时的 ./configure 参数,这里就不赘述了。
二、制定备份文件列表。
这个步骤就是归纳一下需要备份的目录列表。以下我就依照我所安装的各项服务作了一个简单的list。 一些文件的地址是以我的服务器为标准(以"/"开头),一些则以相对目录来描述(以"./"开头)。
系统:
/etc /usr/local/etc
包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。
/var
包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件、db2 实例配置,等等。
/home
包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。
/root
是根(root)用户的主目录。
/opt
是安装许多非系统文件的地方。IBM 软件就安装在这里。OpenOffice、JDK 和其他软件在默认情况下也安装在这里。
系统中不需要备份的目录:
/proc
应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。它包括诸如 /proc/kcore 这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。
/dev
包含硬件设备的文件表示。如果计划还原到一个空白的系统,那就可以备份 /dev。然而,如果计划还原到一个已安装的 Linux 系统,那么备份 /dev 是没有必要的。
更多关于目录的解释,请查看 Filesystem Hierarchy Standard 和 Red Hat Linux Overview of File System Hierarchy Standard (FHS)
MySQL:
/usr/local/mysql
同时要注意版本的保留,在恢复的时候使用相同的版本(或者相同系列的版本)会减少更多不必要的麻烦,例如 “/usr
/local/mysql-standard-4.1.7-pc-linux-i686”。
/etc/my.cnf
MySQL 的配置文件。
Apache:
/usr/local/apache2/logs
Apache 的 log 文件。这里建议使用 cronolog 来 rotate Apache 的巨大 log。可以参考我的 cronolog 杂记
/usr/local/apache2/conf
Apache 的配置文件,例如: httpd.conf。还是建议在修改此文本的时候使用“#”号 comment 修改的内容,然后添加需要修改的内容。
PHP:
/usr/local/lib/php.ini
个人觉得这个就够了。如果你设定了 php 的 error log 文件,当然那个也是需要的。
Movable Type:
./MT-3.0D-full-en_ususr/ 和你的 weblog 目录
一般来说 blog 不会太大,不介意的话就整个备份一下。当然最重要的是 ./MT-3.0D-full-en_ususr/db/ 文件夹,里面有所有的数据(如果你没有用 MySQL 作为 MT 的数据存储格式的话)。
Awstats:
/etc/awstats/
Awstats 的配置文件。诸如:awstats.blog.conf
/var/lib/awstats/
Awstats 的分析留档文件。 诸如:awstats082004.blog.txt
MRTG:
MRTG 的输出文件夹。内有图片和诸如 12.34.56.78_12.34.56.78.log 的log文件。
三、使用 tar 和 crontab 等简单工具备份。
以下是使用 tar 的脚本,去掉了多余的说明部分。 您也可以点击这里下载并修改以适合自己的系统。在脚本中我尽量用更多的方法来进行备份。在实际应用中可以将步骤更加简化。更多关于 tar 的参数请看 man tar
#!/bin/sh
# Date format: 20040626
DATE=`date -d yesterday +%Y%m%d`
# MySQL version & directory
MYSQL_VERSION="4.x.x"
MYSQL_DIR="/usr/local/mysql/data"
# MT Blog directory
MTBLOG_DIR="/path-to-mt/db/"
# Backup directory & Backup Filelist
BACKUP_DIR="/path-to-backup/backupfile"
BACKUP_FILELIST="/path-to-backup/filelist"
# Backup MySQL
printf "Backup MySQL data directory, please wait...\n"
tar -zpcvPf $BACKUP_DIR/mysql-standard-$MYSQL_VERSION-data-$DATE.tgz $MYSQL_DIR | grep "tar:"
printf "Done! The new backup file is: $BACKUP_DIR/mysql-standard-$MYSQL_VERSION-data-$DATE.tgz\n\n"
# Backup MT Blog
printf "Backuping the MT3.0 Weblog data directory, please wait...\n"
tar -zpcvPf $BACKUP_DIR/MT-db-$DATE.tgz $MTBLOG_DIR | grep "tar:"
printf "Done! The new backup file is: $BACKUP_DIR/MT-db-$DATE.tgz\n"
这里引用了『Linux 备份与恢复速成指南』中的一个小技巧,将文件列表写入一个文件进行操作。查看我的Filelist。
以下是一个文件列表的例子:
/etc
/var
/home
/usr/local
/opt (有时会是空目录)
以下解释引自『Linux 备份与恢复速成指南』:
请注意 tar -T(或 files-from)命令不能接受通配符。文件必须明确地列出。上面的例子展示了一种单独地引用文件的方法。您还可以执行脚本来搜索系统,然后建立一个列表。下面就是这样一个脚本的例子:
#!/bin/sh
cat MyFiles > TempList
find /usr/share -iname *.png >> TempList
find /tmp -iname *.iso >> TempList
tar -cpzMf /path-to-backup/backupfile -T TempList
上面的脚本首先将 MyFiles 中的所有现有文件列表复制到 TempList。然后它执行两个 find 命令来搜索文件系统中匹配某个模式的文件,并将它们附加到 TempList。第一次是搜索 /usr/share 目录树中以 .png 结尾的所有文件。第二次是搜索 /tmp 目录树中以 .iso 结尾的所有文件。在建立好列表之后,tar 然后在文件设备 /dev/st0 (第一个 SCSI 磁带设备)上创建 一个新的归档文件,该文件使用 gzip 格式来压缩,并保留所有文件权限。该归档文件将跨越多个卷。要归档的文件的名称将从 TempList 文件中提取。
热心网友
时间:2022-03-20 13:38
* 8 1 1 * df -l >>/etc/diskfile
以下引自百度百科:
时程表的格式如下 :
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...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
由于unix版本不一样,所以部分语法有差别,例如在hp unix aix 中设定间隔执行如果采用*/n 方式将出现语法错误,在这类unix中 ,间隔执行只能以列举方式,详请见例子。
热心网友
时间:2022-03-20 15:12
软院的吧...真速度啊....
热心网友
时间:2022-03-20 17:04
00 08 1 1 * df -kh >>/etc/diskfile 2>&1
Linux下的crontab定时执行任务命令详解
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。三、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。01SHELL=/bin...
Load Port、SMIF
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
如何使用crontab命令在Linux系统中设置周期性任务?
Linux的任务调度分为系统任务和用户任务,前者如系统缓存写入和日志清理,配置在/etc/crontab中,后者如用户数据备份和定时邮件提醒,用户通过crontab管理自己的任务,文件保存在/var/spool/cron/用户名下。crontab命令的语法格式包括一些常用参数,如-e用于编辑任务设置,-l查看任务列表,-r删除任务,-u指定...
(实用)linux定时任务(crontab)
2)查看指定用户的crontab-l-uzzz#zzz为系统存在的一个用户查看指定用户(zzz)正在执行的任务 ,只需要添加-u参数即可,其他命令也同理 3)查看系统所有用户的cat/etc/passwd|cut-f1-d:|xargs-I{}crontab-l-u{}2. 删除当前的定时任务crontab-r3.新增或编辑定时任务crontab-e进入编辑模式, 按照指定任...
linux命令大全之crontab命令使用详解
另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。 一、crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会...
crontab 用法介绍
crontab 是Linux和类Unix系统中的关键任务调度工具,它允许用户周期性地执行指定的命令或脚本,无需频繁手动操作。crontab命令存储在一个位于/var/spool/cron/目录的配置文件中,普通用户也能添加任务,以自动化执行日常维护或定期操作。crontab的语法包含两大部分:时间规范和要执行的命令。时间规范通过分钟、...
linux系统crontab命令的用法
Linux:crontab点排序(表达式、转义、权限管理、日志)摘要:Linux,crontab 组织crontab的使用,包括cron表达式,设置和删除任务,权限管理,查看日志。 crontab命令用于提交和管理用户需要定期执行的任务,类似于windows下的调度任务。安装操作系统时,默认情况下会安装这个服务工具,并且crond进程会自动启动。crond进程会每分钟定时检查...
linuxcrontab
通过crontab-e就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容.6、crontab文件格式:***commandminutehourdaymonthweekcommand分...
Linux crontab命令
Linux crontab命令 被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。crontab文件:指定包含待执行任务的crontab文件。Li...
crontab定时任务配置是什么?
作为普通用户来讲只需关注/var/spool/cron/对应用户的配置文件即可。crontab命令用于linux操作系统中,用于设置被周期性执行的指令,该命令从标准输入设备中读取指令,并将其存放于crontab文件中。以供之后读取和执行。crontab存储的指令被守护进程激活,crond通常在后台运行,每一分钟检查是否有预定的作业需要...
linux如何重启crontab
Linux下的任务调度可以分为两类:系统任务调度和用户任务调度。系统任务调度:系统定期执行的工作,如将缓存数据写入硬盘、清理日志等。/etc目录下有一个crontab文件,是系统任务调度的配置文件。/etc/crontab文件包括以下几行:前四行是用于配置crond任务运行的环境变量。第一行shell变量指定系统应该使用哪个SHELL...