centos6.5 定时任务

iamathinman 2015-11-25 08:05:33
定时任务 执行 sh文件
直接运行 #sh /bin/automysqlbackup.sh 没有任何错误,完全正常运行。 但是通过定时任务 却没有达到预期效果。
sh文件内容:
#!/bin/bash
backtime=`date +%Y%m%d%H%M%S`
mysqldump -uroot -pPassword sp2p > /tsp/backup/SP2P_back${backtime}.sql
cd /tsp/backup
#tar -czf SP2P_back${backtime}.tar.gz SP2P_back${backtime}.sql
rar m SP2P_back${backtime} SP2P_back${backtime}.sql

mysql数据备份出来了 但是 rar没有打包成功 不知道哪里做的不对 求大神帮助。
...全文
333 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bayougeng 2015-11-26
  • 打赏
  • 举报
回复
定时任务执行时的环境和你通常login之后获得的环境是不一样的,所以我看你这个命令,至少你得用完整路径指定那个mysqldump,然后再分析看看log里面有什么错
皇御雷霆 2015-11-26
  • 打赏
  • 举报
回复
添加环境变量PATH
⼤数据运维⽅向⾯试题 ⼤数据运维⽅向⾯试题 ⼀、基础题 ⼀、基础题 1.请写出http和https请求的区别,并写出遇到过的响应状态码. ⼀、https协议需要到ca申请证书,⼀般免费证书很少,需要交费。 ⼆、http是超⽂本传输协议,信息是明⽂传输,https 则是具有安全性的ssl加密传输协议。 三、http和https使⽤的是完全不同的连接⽅式,⽤ 的端⼝也不⼀样,前者是80,后者是443。 四、http的连接很简单,是⽆状态的;HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、⾝份认证的⽹络协议,⽐http协议安全。 状态码常⽤: 301 永久重定向 403 服务器已经理解请求,但是拒绝执⾏ 404 页⾯丢失 500 服务器错误 2.请写出在linux系统上⾯搭建系统或者产品等⼤数据平台需要对系统进⾏哪些检查。 从稳定性说:需要检查集群中的每⼀台服务器的命令安装是否完善,环境变量是否配置完毕,每⼀台服务器的软件配置是否有问题。 扩展性: 能够快速扩展机器,横向扩展条件是否具备 3.请写出使⽤过的linux系统有哪些版本,如何查看系统信息?(发⾏版本,内核版本等信息)。 Centos 6.5 6.6 x64 1.查看发⾏版本命令:cat /etc/issue 2.查看内核版本: cat /proc/version 4.请使⽤命令在linux系统中创建⽤户test,⽤户组为test1,⽤户⽬录 /test , 并赋予sudo权限。 useradd -d /test -m test -g test1 -G root useradd 选项 ⽤户名 其中各选项含义如下: -c comment 指定⼀段注释性描述。 -d ⽬录 指定⽤户主⽬录,如果此⽬录不存在,则同时使⽤-m选项,可以创建主⽬录。 -g ⽤户组 指定⽤户所属的⽤户组。 -G ⽤户组,⽤户组 指定⽤户所属的附加组。 -s Shell⽂件 指定⽤户的登录Shell。 -u ⽤户号 指定⽤户的⽤户号,如果同时有-o选项,则可以重复使⽤其他⽤户的标识号。 Sudo可以修改⽂件需要root⽤户 sudo的⼯作过程如下: 1,当⽤户执⾏sudo时,系统会主动寻找/etc/sudoers⽂件,判断该⽤户是否有执⾏sudo的权限 2,确认⽤户具有可执⾏sudo的权限后,让⽤户输⼊⽤户⾃⼰的密码确认 3,若密码输⼊成功,则开始执⾏sudo后续的命令 4,root执⾏sudo时不需要输⼊密码(eudoers⽂件中有配置root ALL=(ALL) ALL这样⼀条规则) 5,若欲切换的⾝份与执⾏者的⾝份相同,也不需要输⼊密码 5.写出最少3个监控系统指标的命令(如内存,CPU ,IO,磁盘等)。 看内存 :free 看cpu:more /proc/cpuinfo 看IO:iostat -x 10 看磁盘:fdisk -l 6.请⽤多种⽅式在linux系统中设置环境变量,并指出各种⽅式的区别。 1、控制台中设置,不赞成这种⽅式,因为他只对当前的shell 起作⽤,换⼀个shell设置就⽆效了: PATH =" PATH":/NEW_PATH (关闭 shell Path会还原为原来的path) 2、修改 /etc/profile ⽂件,如果你的计算机仅仅作为开发使⽤时推存使⽤这种⽅法,因为所有⽤户的shell都有权使⽤这个环境变量,可能会 给系统带来安全性问题。这⾥是针对所有的⽤户的,所有的shell 在/etc/profile的最下⾯添加: export PATH="$PATH:/NEW_PATH" 3、修改bashrc⽂件,这种⽅法更为安全,它可以把使⽤这些环境变量的权限控制到⽤户级别,这⾥是针对某⼀特定的⽤户,如果你需要给 某个⽤户权限使⽤这些环境变量,你只需要修改其个⼈⽤户主⽬录下的 .bashrc⽂件就可以了。 在下⾯添加: Export PATH="$PATH:/NEW_PATH" 7.请在linux系统中添加指定的定时任务。(每⽉1,15⽇,1,10点运⾏ /run.sh). * 1 ,10 1,15 * * sh /run.sh 8.编写个shell脚本将/data⽬录下⼤于100k的⽂件转移到 /tmp ⽬录下。 #! /bin/sh directory=/data/* filesize=0 for file in $directory do filesize=(wc c < (basename $file)) if [ $filesize -gt 100*1024 ] then mv (basenamefile) /tmp fi done 9.请使⽤命令写出在linux系统中对于⽂件01.txt ,查找⾏内容包含"java"关键字,但不包含"bug"关键字的
⼤数据运维⽅向⾯试题 ⼤数据运维⽅向⾯试题 ⼀、基础题 1.请写出http和https请求的区别,并写出遇到过的响应状态码. ⼀、https协议需要到ca申请证书,⼀般免费证书很少,需要交费。 ⼆、http是超⽂本传输协议,信息是明⽂传输,https 则是具有安全性的ssl加密传输协议。 三、http和https使⽤的是完全不同的连接⽅式,⽤ 的端⼝也不⼀样,前者是80,后者是443。 四、http的连接很简单,是⽆状态的;HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、⾝份认证的⽹络协议,⽐http协议安全。 状态码常⽤: 301 永久重定向 403 服务器已经理解请求,但是拒绝执⾏ 404 页⾯丢失 500 服务器错误 2.请写出在linux系统上⾯搭建系统或者产品等⼤数据平台需要对系统进⾏哪些检查。 从稳定性说:需要检查集群中的每⼀台服务器的命令安装是否完善,环境变量是否配置完毕,每⼀台服务器的软件配置是否有问题。 扩展性: 能够快速扩展机器,横向扩展条件是否具备 3.请写出使⽤过的linux系统有哪些版本,如何查看系统信息?(发⾏版本,内核版本等信息)。 Centos 6.5 6.6 x64 1.查看发⾏版本命令:cat /etc/issue 2.查看内核版本: cat /proc/version 4.请使⽤命令在linux系统中创建⽤户test,⽤户组为test1,⽤户⽬录 /test , 并赋予sudo权限。 useradd -d /test -m test -g test1 -G root useradd 选项 ⽤户名 其中各选项含义如下: -c comment 指定⼀段注释性描述。 -d ⽬录 指定⽤户主⽬录,如果此⽬录不存在,则同时使⽤-m选项,可以创建主⽬录。 -g ⽤户组 指定⽤户所属的⽤户组。 -G ⽤户组,⽤户组 指定⽤户所属的附加组。 -s Shell⽂件 指定⽤户的登录Shell。 -u ⽤户号 指定⽤户的⽤户号,如果同时有-o选项,则可以重复使⽤其他⽤户的标识号。 Sudo可以修改⽂件需要root⽤户 sudo的⼯作过程如下: 1,当⽤户执⾏sudo时,系统会主动寻找/etc/sudoers⽂件,判断该⽤户是否有执⾏sudo的权限 2,确认⽤户具有可执⾏sudo的权限后,让⽤户输⼊⽤户⾃⼰的密码确认 3,若密码输⼊成功,则开始执⾏sudo后续的命令 4,root执⾏sudo时不需要输⼊密码(eudoers⽂件中有配置root ALL=(ALL) ALL这样⼀条规则) 5,若欲切换的⾝份与执⾏者的⾝份相同,也不需要输⼊密码 5.写出最少3个监控系统指标的命令(如内存,CPU ,IO,磁盘等)。 看内存 :free 看cpu:more /proc/cpuinfo 看IO:iostat -x 10 看磁盘:fdisk -l 6.请⽤多种⽅式在linux系统中设置环境变量,并指出各种⽅式的区别。 1、控制台中设置,不赞成这种⽅式,因为他只对当前的shell 起作⽤,换⼀个shell设置就⽆效了: $PATH="$PATH":/NEW_PATH (关闭 shell Path会还原为原来的path) 2、修改 /etc/profile ⽂件,如果你的计算机仅仅作为开发使⽤时推存使⽤这种⽅法,因为所有⽤户的shell都有权使⽤这个环境变量,可能会 给系统带来安全性问题。这⾥是针对所有的⽤户的,所有的shell 在/etc/profile的最下⾯添加: export PATH="$PATH:/NEW_PATH" 3、修改bashrc⽂件,这种⽅法更为安全,它可以把使⽤这些环境变量的权限控制到⽤户级别,这⾥是针对某⼀特定的⽤户,如果你需要给 某个⽤户权限使⽤这些环境变量,你只需要修改其个⼈⽤户主⽬录下的 .bashrc⽂件就可以了。 在下⾯添加: Export PATH="$PATH:/NEW_PATH" 7.请在linux系统中添加指定的定时任务。(每⽉1,15⽇,1,10点运⾏ /run.sh). * 1 ,10 1,15 * * sh /run.sh 8.编写个shell脚本将/data⽬录下⼤于100k的⽂件转移到 /tmp ⽬录下。 #! /bin/sh directory=/data/* filesize=0 for file in $directory do filesize=$(wc -c < $(basename $file)) if [ $filesize -gt 100*1024 ] then mv $(basename $file) /tmp fi done 9.请使⽤命令写出在linux系统中对于⽂件01.txt ,查找⾏内容包含"java"关键字,但不包含"bug"关键字的
最新的 BB1407 openwrt-RG100A_DB120-squashfs-cfe.bin 固件 固件集成了,usb u盘 USB 摄像头uvc se2net:wifi串口 这是固件文件。主要编这个固件是做摄像头监控,集成motion 进行监控拍照保存到挂载的硬盘,挂载位置为/mnt/sda1/post motion。conf 复制到/etc/ 另外可以及在自己安装已个百度云盘同步。 我的是自动监控拍照然后上传置百度云盘上。我装的是Perl精简 测试很成功。值得拥有。我把文件都集成到已个包里自己安装。百度云盘自己安装 Python版已完成,可以支持4G以上的文件,需要的去网盘下载,同时Perl精简版也已完成,部分系统同样不能支持大文件,那个要看语言环境是否支持大文件。 ---------------------------------------------------------------------------------------------------------------------------- 上个月发布了个bash版的同步脚本,虽能与百度网盘之间实现上传、下载和同步,但性能不是很好,稳定性也不是那么完美,此后就想着如何能解决这两个问题,首先想到的是用C语言来写下,但是C语言写的要针对特定的设备进行编译,比较麻烦,后面就想到用Perl或Python来写,百度了一番都说Perl语言运行速度快,我在Open-WRT上看了下Perl的包也挺多,然后就写了个测试脚本,就是压缩同步数据的那段,然后在CentOS上运行测试了下,发现速度比bash快了几乎上百倍,于是毅然决定用Perl写了。Perl是一门语言,很多工作都是内部命令完成,不需要调用外部命令,性能有很大的提高,同时也降低了对内存的占用,我的路由是wndr3700,在同步文件时内存占用在8M上下,cpu占用在20%上下,比bash版降低很多,特别是cpu占用低很多,13000余个文件,做一次同步检查只需要不到3分钟(还是没有开启缓存),原来bash版跑了40分钟还没见完成,没有耐心等待就强制中止了,具体好不好用自己感受吧。发布前我分别在Open-wrt 12.09和CentOS6.5上测试上传和下载了几个G的文件没有任何问题,可稳定运行。下面就开始说主题吧。 首先说下注意事项,主要是针对之前用过bash版的童鞋 1、Perl版的配置文件与bash版的有区别,新增加了一些配置项,也有减少的,也有些配置项改了更合适的名称,请按照配置文件里面的说明对应的设置,并把原来配置文件最下面的device_code,refresh_token,access_token,expires_in,refresh_date这5个参数项复制到新的配置文件中; 2、为了提高性能,Perl版的同步信息数据采用的是二进制存储,不兼容bash版的数据,但我提供了一个转换的命令,设置好配置文件后运行如下命令: syncy.pl convert 运行以上命令后就转换至新的数据格式,但是即使转换了,可能部分有中文名的文件同步过了,系统还会认为没有同步,因为Perl语言支持的UTF8中文需要开启标志位,这就导致在获取路径名的md5码与bash版的不同,要是数据量不是很大,重新上传或下载不需要很长时间,就让它重新上传或下载次,要是数据量很大,基本还都是下载的,可以先把同步类型设置为0或1,待同步完成之后再改成你想要的同步方式(此种方式能快?俳⒁淹降奈募畔ⅲ? 3、如同步类型为4-sync,且更改了远程同步目录(包括更换绑定用户),请删除本地根目录下的“.syncy.info.db”文件,否则在下次同步时将会删除本地的所有文件(系统会认为远程文件不需要被用户删除,也会删除本地的相应文件)。 下面就说下具体的安排配置方法: 1、检查系统环境。要想这个同步脚本正常运行,系统必须安装libcurl,openssl,perl,以及perl包,在openwrt上所需的perl包名称如下: perl perlbase-essential perlbase-digest perlbase-base perlbase-utf8 perlbase-encode perlbase-xsloader perlbase-bytes perl-www-curl perlbase-file perlbase-dynaloader perlbase-config perlbase-autoloader perl-uri perlbase-text perlbase-unicore 安装以上包需要3M多的空闲空间,如空间空间不足,只有通过u盘来扩展了。如是其它系统,请对应的安装相应的包,在cpan.org网站上可通过perlbase-后面的名称来搜索相应的包并下载源码,各个包还可能依赖别的包,如运行报错,提示缺少包,请根据提示安装相应的包。 2、从我的网盘里下载Perl版程序,下载地址:http://syncyhome.duapp.com/index.php/download/(这个是我部署的一个博客,网盘分享有时无缘无故的被禁了),里面有个使用协议,请仔细阅读下哦。有2个文件是本程序必须的,分别是:syncy.pl和syncy.conf,第一个是同步程序,第二个是配置文件。首先把syncy.pl上传到路由上,建议放到/usr/bin目录里(当然也可放在其他地方),并syncy.pl可执行权限(chmod 755 /usr/bin/syncy.pl);然后用editplus或ultraedit 等工具来编辑syncy.conf文件,按照里面的说明来修改相应字段值,修改完成后,把syncy.conf传到路由上的/etc/config目录下,当然也可以放到别的目录里,如果放在别的目录里请修改syncy.pl第29行的$config_file变量值。 (相比较bash版,减少了个unicodetable.txt文件,Perl语言内部有转码的方法,不再需要此文件了,bash版是因为在openwrt上没有转码的命令才加上这个对照表的。) (已绑定的用户可跳过3、4步) 3、下面开始把SyncY与百度帐号绑定了,先运行命令root@Router:/bin# /usr/bin/syncy.pl,系统会提示打开百度授权网址并输入用户码; 用浏览器打开网址:https://openapi.baidu.com/device,如果没有?锹迹胂鹊锹及俣龋缓螅突岢鱿秩媚闶淙肷璞嘎氲囊趁妫焐痔逑允镜纳璞嘎耄? 输入完成设备码后,点“继续”按钮; 之后进入授权确认的页面,右边的多选框都都选上哦,然后点“授权”按钮完成授权,完成授权后,浏览器显示授权成功的信息; 至此授权完成,我们还需要回来路由器上,按回车键继续完成设备绑定工作。 绑定完设备后就会显示“Get device token success"的信息,并开始同步操作了,如果已经设置了同步文件夹的话。 4、绑定完设备后,先来测试下你的设备上是否能支持中文,执行命令(perl版几乎可以跳过此步): root@Router:/bin# /usr/bin/syncy.pltestchinese /tmp 命令执行完后,系统会在/tmp目录下创建个“中文转码测试”的文件,在终端中显示的会是乱码,不用担心,这不是表示系统不支持中文,你可以通过ftp或网上邻居来看看是不是能正常显示。 5、设置了配置文件中的syncperiod和syncinterval后,同步程序启动后就会一直运行,但每次路由启动后需要手动启动,或通过定时任务启动,下面介绍下在openwrt上如何设置自动启动,其它系统不太了解,请看完此段后百度下具体的设置方法。如果实在没别的办法来实现自动运行,可以设置个后台运行的定时任务,程序会检查是否已经有实例正在运行,有的话后启动的进程会自动退出。 Openwrt实现方法是在/etc/init.d目录下创建个syncy文件并授予可执行权限,文件内容如下: #!/bin/sh /etc/rc.common # Copyright (C) 2006-2011 OpenWrt.org START=99 STOP=10 start() { syncy.pl & #如果不在/usr/bin目录下,也不在其他PATH搜索路径中请写全路径 } stop() { killallsyncy.pl } 保存后运行命令 /etc/init.d/syncy enable restart 这样就可以自动启动了,但现在还没有运行,可运行命令/etc/init.d/syncy start 来启动程序,也可以通过命令/etc/init.d/syncy stop来停止程序,有管理界面的也可以在启动项里来启动或停止同步程序。 最后,希望大家在使用中要是发现了程序哪有什么bug,能通过邮件或空间留言反馈给我,以便及时更正,编写此程序也是出于爱好,Perl语言也是我写此程序时才学习的,难免有错误发生。我是个Perl语言的初学者,有些算法可能不是最优的,如觉得有更好的方法能让程序运行的更快速稳定,也希望各位读者不吝赐教,继续优化程序,造福广大有需要的同学。 转载请注明来源,并保留程序及使用协议的完整性。

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧