crontab 定时备份 出现permission:denied

有些话、适合烂在心里 提交于 2020-02-13 08:37:48

主要原因是第一天晚上没有进入到Mac的root权限,所以一直就是权限不足。

今天我会了进入Mac root权限了,我一试就好了。

contab 定时命令:

* * * * * /bin/sh /Users/wky/Desktop/backup.sh > /Users/wky/Desktop/backup.txt 2&> 1 

这个是每分钟备份一次。

********************************************************************************************

参考:http://blog.csdn.net/xiyuan1999/article/details/8160998

5. crontab命令

      cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

        crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数  
  crontab -l //列出某个用户cron服务的详细内容
  crontab -r //删除没个用户的cron服务
  crontab -e //编辑某个用户的cron服务
  比如说root查看自己的cron设置:crontab -u root -l
  再例如,root想删除fred的cron设置:crontab -u fred -r
  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
  进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
        任务调度的crond常驻命令
        crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此  

       任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工

       作便会自动执行该工作。

 ********************************************************************************************

备份的脚本:

 1 #!/bin/sh
 2 MYSQLDBUSERNAME=root
 3 
 4 MYSQLDBPASSWORD=root
 5 
 6 MYSQBASEDIR=/usr/local/mysql
 7 
 8 MYSQL=$MYSQBASEDIR/bin/mysql
 9 
10 MYSQLDUMP=$MYSQBASEDIR/bin/mysqldump
11 
12 BACKDIR=/Users/wky/Desktop/mybackup
13 
14 DATEFORMATTYPE1=$(date +%Y-%m-%d)
15 
16 DATEFORMATTYPE2=$(date +%Y%m%d%H%M%S)
17 
18 [ -d $MYSQBASEDIR ] && MYSQDATADIR=$MYSQBASEDIR/data || MYSQDATADIR=/var/lib/mysql
19 
20 [ -x $MYSQL ] || MYSQL=mysql
21 
22 [ -x $MYSQLDUMP ] || MYSQLDUMP=mysqldump
23 
24 [ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
25 [ -d ${BACKDIR}/${DATEFORMATTYPE1} ] || mkdir ${BACKDIR}/${DATEFORMATTYPE1}
26 
27 DBLIST=`ls -p $MYSQDATADIR | grep / |tr -d /`
28 
29 for DBNAME in $DBLIST
30 
31     do ${MYSQLDUMP} --user=${MYSQLDBUSERNAME} --password=${MYSQLDBPASSWORD} --routines --events --triggers --single-transaction --flush-logs --ignore-table=mysql.event --databases ${DBNAME} | gzip > ${BACKDIR}/${DATEFORMATTYPE1}/${DBNAME}-backup-${DATEFORMATTYPE2}.sql.gz
32 
33     [ $? -eq 0 ] && echo "${DBNAME} has been backuped successful" || echo "${DBNAME} has been backuped failed"
34     /bin/sleep 5
35 done

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!