文件比较运算符
-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真 [ -z “$myvar” ]
-n string 如果 string长度非零,则为真 [ -n “$myvar” ]
string1= string2 如果 string1与 string2相同,则为真 [ “$myvar” = “one two three” ]
string1!= string2 如果 string1与 string2不同,则为真 [ “$myvar” != “one two three” ]
算术比较运算符
num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]
num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]
num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]
Category Archives: Linux
top命令含义
top命令使用
命令格式:
top [-] [d] [p] [q] [C] [S] [n]
参数说明:
d: 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p: 通过指定监控进程ID来仅仅监控某个进程的状态。
q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S: 指定累计模式
s : 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i: 使top不显示任何闲置或者僵死进程。
c: 显示整个命令行而不只是显示命令名
各个展示项含义说明
top – 22:42:59 up 154 days, 21:21, 2 users, load average: 0.37, 0.35, 0.36
Tasks: 273 total, 2 running, 271 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.9% us, 0.2% sy, 0.0% ni, 97.9% id, 0.9% wa, 0.0% hi, 0.0% si
Mem: 4147172k total, 4124176k used, 22996k free, 7196k buffers
Swap: 4192956k total, 146780k used, 4046176k free, 2494232k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
29781 oracle 16 0 1561m 315m 312m S 9 7.8 8:57.46 oracle
23381 oracle 15 0 2612 1092 772 R 1 0.0 0:00.05 top
1 root 16 0 3208 660 568 S 0 0.0 1:00.12 init
2 root RT 0 0 0 0 S 0 0.0 0:07.29 migration/0
3 root 34 19 0 0 0 S 0 0.0 0:01.25 ksoftirqd/0
4 root RT 0 0 0 0 S 0 0.0 0:02.49 migration/1
22:42:59 | 当前时间 |
up 154 days | 系统运行时间,格式为时:分 |
2 users | 当前登录用户数 |
load average: 0.37, 0.35, 0.36 | 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 |
Tasks: 273total | 进程总数 |
2 running | 正在运行的进程数 |
271 sleeping | 睡眠的进程数 |
0 stopped | 停止的进程数 |
0 zombie | 僵尸进程数 |
Cpu(s): 0.9% us | 用户空间占用CPU百分比 |
0.2% sy | 内核空间占用CPU百分比 |
0.0% ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
97.9% id | 空闲CPU百分比 |
0.9% wa | 等待输入输出的CPU时间百分比 |
0.0% hi | |
0.0% si |
Mem: 4147172ktotal | 物理内存总量 |
4124176k used | 使用的物理内存总量 |
22996k free | 空闲内存总量 |
7196k buffers | 用作内核缓存的内存量 |
Swap: 4192956k total | 交换区总量 |
146780k used | 使用的交换区总量 |
4046176k free | 空闲交换区总量 |
2494232k cached | 缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。 |
列名 | 含义 |
PID | 进程id |
PPID | 父进程id |
RUSER | Real user name |
UID | 进程所有者的用户id |
USER | 进程所有者的用户名 |
GROUP | 进程所有者的组名 |
TTY | 启动进程的终端名。不是从终端启动的进程则显示为 ? |
PR | 优先级 |
NI | nice值。负值表示高优先级,正值表示低优先级 |
P | 最后使用的CPU,仅在多CPU环境下有意义 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
TIME | 进程使用的CPU时间总计,单位秒 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
%MEM | 进程使用的物理内存百分比 |
VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
SWAP | 进程使用的虚拟内存中,被换出的大小,单位kb。 |
RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
CODE | 可执行代码占用的物理内存大小,单位kb |
DATA | 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb |
SHR | 共享内存大小,单位kb |
nFLT | 页面错误次数 |
nDRT | 最后一次写入到现在,被修改过的页面数。 |
S | 进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
COMMAND | 命令名/命令行 |
WCHAN | 若该进程在睡眠,则显示睡眠中的系统函数名 |
Flags | 任务标志,参考 sched.h |
用快捷键更改显示内容
(1)更改显示内容通过 f键可以选择显示的内容。
按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
(2)按o键可以改变列的显示顺序。
按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。
设置完按回车返回界面。
iostat命令含义
iostat的语法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数。
[root@localhost ~]# iostat -dktx 1 3
Linux 2.6.18-92.el5 (localhost.localdomain) 06/29/2011
Time: 10:16:40 PM
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.01 7.42 0.01 4.25 0.30 46.69 22.06 0.07 17.23 4.14 1.76
Time: 10:16:41 PM
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 30.00 0.00 35.00 0.00 260.00 14.86 1.85 52.83 4.37 15.30
Time: 10:16:42 PM
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
rkB/s:每秒读取字节数(kb);wsec/:每秒写入字节数(kb)。
r/s:The number of read requests that were issued to the device per second;w/s:The number of write requests that were issued to the device per second;
await:每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。
[root@localhost ~]# iostat -dkt 1 3
Linux 2.6.18-92.el5 (localhost.localdomain) 06/29/2011
Time: 10:24:09 PM
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4.26 0.30 46.70 4925765 767484400
Time: 10:24:10 PM
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 7.00 0.00 64.00 0 64
Time: 10:24:11 PM
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.98 0.00 15.84 0 16
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:读取的总数据量;
kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。
vmstat命令含义
vmstat使用方法
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息。
[root@localhost ~]# vmstat -n 3 3
procs ———–memory———- —swap– —–io—- –system– —–cpu——
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 43608 73448 411300 6380692 0 0 0 6 0 0 0 0 99 0 0
0 0 43608 73448 411300 6380692 0 0 0 53 1025 1281 0 0 100 0 0
0 0 43608 73448 411300 6380692 0 0 0 40 1033 1261 0 0 100 0 0
procs
r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
memory
swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free 当前的空闲页面列表中内存数量(k表示)
buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。
cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。
swap
si 由内存进入内存交换区数量。
so由内存交换区进入内存数量。
IO
bi 从块设备读入数据的总量(读磁盘)(每秒kb)。
bo 块设备写入数据的总量(写磁盘)(每秒kb)
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。
system
in 列表示在某一时间间隔中观测到的每秒设备中断数。
cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。
cpu
us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
id 列显示了cpu处在空闲状态的时间百分比
Procs
r: The number of processes waiting for run time.
b: The number of processes in uninterruptible sleep.
Memory
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
cache: the amount of memory used as cache.
inact: the amount of inactive memory. (-a option)
active: the amount of active memory. (-a option)
Swap
si: Amount of memory swapped in from disk (/s).
so: Amount of memory swapped to disk (/s).
IO
bi: Blocks received from a block device (blocks/s).
bo: Blocks sent to a block device (blocks/s).
System
in: The number of interrupts per second, including the clock.
cs: The number of context switches per second.
CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
基于innobackupex的mysql备份脚本
#! /bin/bash #数据库相关信息 dbuser=root dbpasswd=password mycnf=/etc/mysql/my.cnf #如果bin-log没有指定路径 dir_bin=/opt/mysql/mysqldata/mysqllog #数据库备份的路径 install_dir=/opt/MySqlBackUp data_dir=$install_dir/data temp_dir=$install_dir/temp log_dir=$install_dir/logs bin_dir=$install_dir/bin #接受邮箱 mail=chengfei@srt.com.cn #备份文件名、日志名、备份日志 sj=`date +\%Y``date +\%m``date +\%d``date +\%H``date +\%M``date +\%S` datafile=$sj"_data.tar.gz" log=$sj".log" binlogfile=$sj"_bin.tar.gz" #使用mysqldump备份 #是否启动dump功能(0表示不启用,1表示启用) dump_flag=1 #需要dump出来的数据库名 dumpdb=srtair #dump文件名 dumpfile=$sj"_"$dumpdb".sql.gz" #是否备份至远程 #是否启用ftp传输功能 ftp_flag=0 #ftp IP地址 ftp_ip= #ftp 用户名 ftp_user= #ftp 密码 ftp_passwd= #上传ftp 路径 ftp_dir= #读取my.cnf文件 process_readconfig() { echo "-----------开始读my.cnf文件--`date`-------------" #没有具体路径情况或者有具体路径 bin_log=`cat $mycnf | grep -i '^log-bin' | awk -F = '{print $2}'|sed s/\ //g` #数据文件路径 datadir=`cat $mycnf | grep -i '^datadir' | awk -F = '{print $2}'|sed s/\ //g` #需要判断是否有/,然后决定是否是全路径 #basedir路径 basedir=`cat $mycnf | grep -i '^basedir' | awk -F = '{print $2}'|sed s/\ //g` } #日志处理 process_binlog() { echo "……………………………开始备份日志文件--`date`………………………………">>"$log_dir/$log" echo "……………………………开始备份日志文件--`date`………………………………" echo "需要备份二进制日志列表……">>"$log_dir/$log" ls -tl "$bin_log."[0-9]* >>"$log_dir/$log" echo "开始备份二进制日志文件……"`date`>>"$log_dir/$log" tar czvfP "$data_dir/$binlogfile" "$bin_log".[0-9]* echo "结束备份二进制日志文件……"`date`>>"$log_dir/$log" #删除一天以前的日志文件 echo "删除过期二进制日志文件……"`date`>>"$log_dir/$log" echo "删除过期二进制日志列表……">>"$log_dir/$log" find $dir_bin -type f -mtime +1>>"$log_dir/$log" find $dir_bin -type f -mtime +1 -exec rm -f {} \; echo "删除过期二进制日志文件结束……"`date`>>"$log_dir/$log" echo "…………………………备份日志文件结束--`date`……………………………………">>"$log_dir/$log" echo "…………………………备份日志文件结束--`date`……………………………………" } #数据备份 process_backup() { process_readconfig #备份数据库 echo "……………………………开始备份数据文件--`date`………………………………" echo "……………………………开始备份数据文件--`date`………………………………">>"$log_dir/$log" source /root/.bash_profile $bin_dir/innobackupex --user="$dbuser" --password="$dbpasswd" --defaults-file="$mycnf" --stream=tar "$temp_dir" 2>"$temp_dir/$sj"_tmp.log | gzip>"$data_dir/$datafile" echo "……………………………备份数据文件结束--`date`………………………………">>"$log_dir/$log" echo "……………………………备份数据文件结束--`date`………………………………" cat "$temp_dir/$sj"_tmp.log>>"$log_dir/$log" #删除7天以前备份数据和信息 echo "清理7天前备份数据与相关信息……"`date`>>"$log_dir/$log" find $data_dir -type f -mtime +7>>"$log_dir/$log" find $data_dir -type f -mtime +7 -exec rm -f {} \; #mysqldump操作 if [ "$dump_flag" == 1 ]; then echo "……………… mysqldump操作开始--`date`……………" echo "……………… mysqldump操作开始--`date`………">>"$log_dir/$log" exp_sql echo "……………… mysqldump操作结束--`date`…………">>"$log_dir/$log" echo "……………… mysqldump操作结束--`date`……………………………" fi #登录mysql,切换日志 $basedir/bin/mysql -u$dbuser -p$dbpasswd<<XFF flush logs; exit XFF #备份日志文件 process_binlog #ftp(没有写是否上传失败,成功) if [ "$ftp_flag" == 1 ]; then echo "……………… ftp操作开始--`date`……………" echo "……………… ftp操作开始--`date`…………">>"$log_dir/$log" exec_ftp echo "……………… ftp操作结束--`date`…………">>"$log_dir/$log" echo "……………… ftp操作结束--`date`……………………………" fi #发送邮件 process_send } process_send() { #查找错误 grep "Error" "$temp_dir/$sj"_tmp.log > "$temp_dir/$sj".err IP=`/sbin/ifconfig ${eth} | grep 'inet addr:'| awk '{print $2}' | awk -F : '{print $2}'` IP=`echo $IP|awk '{print $1}'` echo `grep "innobackupex: completed OK\!" "$temp_dir/$sj"_tmp.log | awk -F : '{print $4}'|sed s/\ //g`>"$temp_dir/$sj".good GOOD_COUNT=`cat "$temp_dir/$sj".good |wc -l` ERROR_COUNT=`cat "$temp_dir/$sj".err |wc -l` if [ "$ERROR_COUNT" == 0 -a "$GOOD_COUNT" == 1 ]; then echo "`date`-----MySql备份成功-----">>"$log_dir"/result.log echo "-----------------------------------">>"$log_dir"/result.log echo "……………………………开始发送邮件--`date`………………………………" echo "……………………………开始发送邮件--`date`………………………………">>"$log_dir/$log" echo "MySql_Backup_Succeed" | mutt -s "$IP"_MySql_Backup_Succeed -a "$log_dir/$log" ${mail} else echo "`date`-----MySql备份失败,请检查$temp_dir"/"$sj"_tmp.log>>"$log_dir"/result.log echo "-----------------------------------">>"$log_dir"/result.log echo "……………………………开始发送邮件--`date`………………………………" echo "……………………………开始发送邮件--`date`……………………………">>"$log_dir/$log" cat "$temp_dir/$sj".err | mutt -s "$IP"_MySql_Backup_Fail -a "$temp_dir/$sj"_tmp.log ${mail} fi #删除7天前的日志文件 find $temp_dir -type f -mtime +7 -exec rm -f {} \; echo "……………………………发送邮件结束--`date`………………………………">>"$log_dir/$log" echo "……………………………发送邮件结束--`date`………………………………" } #导出sql语句 exp_sql() { mysqldump -u "$dbuser" -p"$dbpasswd" --single-transaction --allow-keywords --add-locks --add-drop-table -F -q "$dumpdb" |gzip 1>"$data_dir/$dumpfile" } #ftp操作 exec_ftp() { echo "#!/bin/bash">"$temp_dir/$sj"_ftp.sh echo "ftp -n $ftp_ip <<XFF">>"$temp_dir/$sj"_ftp.sh echo "user $ftp_user $ftp_passwd">>"$temp_dir/$sj"_ftp.sh echo "bin">>"$temp_dir/$sj"_ftp.sh echo "cd $ftp_dir">>"$temp_dir/$sj"_ftp.sh echo "lcd $data_dir">>"$temp_dir/$sj"_ftp.sh echo "put $datafile">>"$temp_dir/$sj"_ftp.sh echo "put $dumpfile">>"$temp_dir/$sj"_ftp.sh echo "put $binlogfile">>"$temp_dir/$sj"_ftp.sh echo "lcd $log_dir">>"$temp_dir/$sj"_ftp.sh echo "put $log">>"$temp_dir/$sj"_ftp.sh echo "close">>"$temp_dir/$sj"_ftp.sh echo "bye" >>"$temp_dir/$sj"_ftp.sh echo "XFF">>"$temp_dir/$sj"_ftp.sh chmod 777 "$temp_dir/$sj"_ftp.sh sh "$temp_dir/$sj"_ftp.sh } #执行备份 process_backup
mysql_backup.sh程序安装说明
1、安装mysqlbackup程序
上传mysqlbackup到服务器/tmp目录
cd /tmp
unzip mysqlbackup.zip
cp /tmp/mysqlbackup/* /opt/mysql/product/5.1/bin
mkdir -p /opt/MySqlBackUp/bin
mkdir -p /opt/MySqlBackUp/data
mkdir -p /opt/MySqlBackUp/logs
mkdir -p /opt/MySqlBackUp/temp
ln -s /opt/mysql/product/5.1/bin/innobackupex /opt/MySqlBackUp/bin/innobackupex
对innobackupex进行授权
cd /opt/mysql/product/5.1/bin/
chmod +x innobackupex*
chmod +x xtrabackup*
chmod +x tar4ibd
cp /tmp/mysqlbackup/mysql_backup.sh /opt/MySqlBackUp/bin/
chmod 775 /opt/MySqlBackUp/bin/mysql_backup.sh
2、修改mysql_backup.sh中的相关数据
dbuser
dbpasswd
mail
dumpdb
3、配置mysql环境变量到root中
export MYSQL_BASE=/opt/mysql
export BASEDIR=$MYSQL_BASE/product/5.1
export DATADIR=$MYSQL_BASE/mysqldata
export LD_LIBRARY_PATH=$BASEDIR/lib:/lib:/usr/lib:/usr/local/lib
export TMPDIR=/tmp
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$BASEDIR/bin:$MYSQL_BASE:$BASEDIR:$LD_LIBRARY_PATH
添加到/root/.bash_profile文件中
4、测试备份
cd /opt/MySqlBackUp/bin
./mysql_backup.sh
5、查看备份是否成功
cat /opt/MySqlBackUp/logs/result.log
如果提示备份成功,则表示程序安装成功,可能不熟到crontab中
6、部署crontab
0 1 * * * (cd /opt/MySqlBackUp/bin;sh ./mysql_backup.sh)
说明:参数配置,均是基于按照mysql安装路径配置