展开

关键词

python之ftp

因为ssoc巨大,很快就把磁盘占满。需要每天把备份到ftp服务器,所以根据网的资料,做了个简单的。算是第一次自己拼凑出的。还很简单,特别是把异常处理简化了。 因为身单一,然后把屏幕输出用管道命令》直接写到地文件,充当。很懒的一个版。还需加工。----1 ftp 文件夹里的内容2 后把现有的目录下的文件删除。 简化的好处就是只要遍历文件如果有新文件的就

23620

分享一次Linux任务计划crontab不执行的问题排查过程

一、检查根据经验,先看一下 crontab:tail varlogmessages没发现相关,看来不是打印到了这,于是查看了下 crontab 的默认位置:tail varlogcronMar crontab 中建议使用 sh 或 bash 来执行 shell ,避免因文件的执行权限丢失导致任务失败。 ③、检查需要用到的变量和文一样,通常来说从 crontab 里面执行的和人工执行的环境变量是不一样的,所以对于一些系统变量,建议写绝对路径,或使用 witch 动态获取,比如  sudo_bin ④、放大招:查看其实,最直接最有效的就是查看执行了,结合 crontab 执行记录,以及 crontab 执行出错后的系统邮件,一般都能彻底找到失败的原因了! 这又让我想起了如果 crontab 未屏蔽,可能会导致硬盘 inode 爆满 ==> 历史文章送门 ,感兴趣的童鞋也可以谷歌一下 varspoolclientmqueue 这个关键词了解下。

1K30
  • 广告
    关闭

    11.11智惠云集

    2核4G云服务器首年70元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Linux】系统学习Crontab定时任务

    文件中# 查看最近的两条crontail -n 2 varlogcron 2.清理系统 (1)系统的存放位置: varlogmessages# varlog目录下cron -- 定时任务 secure -- 相关ssh服务messages -- 系统总firewalld -- 系统防火墙lastlog -- 登录# 查看当前目录下所有文件的大小du -sh . # 清空系统 定时任务# 定时执行清理* * * * * sh rootlog_clean.sh 3.crontab 备份 source code (1)准备工作backup -- 备份文件存放目录script -- 文件目录www --- 网站根目录 (2)编写执行备份的文件#! $(date +%F_%H%M)获取系统的期时间,并拼期(%F),再拼小时(%H)和分钟(%M) =》 3). www_src = $basedirwww_src$(date +%F_%H%M

    62420

    使用shell定时采集数据到hdfs分布式文件系统

    时间间隔的单位可以是分钟、小时、、月、周及以的任意组合。这个命令非常设合周期性的分析或数据备份等工作。   #文件的名称都是xxxx.log1,再次文件时,因为hdfs已经存在了,会报错。如何处理? #如何解决版1的问题# 1、先将需要的文件移动到待目录# 2、在讲文件移动到待目录时,将文件按照一定的格式重名名# exportsoftwarehadoop.log1 exportdataclick_logxxxxx_click_log _{date} #文件存放的目录log_src_dir=homehadooplogslog #待文件存放的目录log_toupload_dir=homehadooplogstoupload #文件到 hdfs的根路径hdfs_root_dir=dataclickLog20151226 #打印环境变量信息echo envs: hadoop_home: $HADOOP_HOME #读取文件的目录,判断是否有需要的文件

    1.2K70

    地文件自动同步到GitHub

    (定时执行Git命令)? 2.3 写自动定时 首先,我们编写一个文件,这个非常简单,内容如下:#! 我们就可以看到每分钟都会将地的文件内容到GitHub了调试完成后,我们就可以将输出到devnull?2.3.1 可能会遇到的坑在将命令最开始写到crontab时,我是没有打印执行的结果的。 ,在最编写的时候一定要打期间也遇到过奇奇怪怪的坑,这里列一下,希望后续的人看到我这篇文章能解决掉相似的问题:写完,记得加可执行的权限保存crontab的时候,遇到usrbinvi exited Linux定时任务Crontab命令详解crontab 错误和正确的输出写入到文件

    2.7K20

    Linux系统crontab备份数据库执行不成功?可能是百分号%在作怪!

    看了下 crontab,发现有如下错误:Access denied for user dbuser@localhost to database db when using LOCK TABLES 于是开始 debug,设置断点、使用绝对路径,各种方法用尽了,居然还是不行,不过发现当我将数据库备份代码写到另外一个,然后将这个加入到 crontab 的时候却可以了???这是为毛? ,将里面的$1~$6 都输出到中,结果让我发现了问题所在!!! 原来问题出在参数:我的 mysql 的 root 密码中含有一个百分号%,直接将面的代码写到 crontab 中,这个百分号却无法递,所以取得的密码就是错误的!从而,备份失败! 经过查询,发现百分号%是 crontab 中的一个特殊符号!不能直接作为参数递!!!

    47940

    Linux使用笔记3-crontab添加定时任务

    linux中任务管理的软件有很多,个人比较倾向于crontab。简单来说,crontab就是linux下一个方便任务管理的工具,可以添加定时任务,执行。1. 开启crontab  crontab默认情况下是不执行开启子的,所以一开始写完后,不能执行,想查看,却找不到。 之后,在这个位置 varlogcron.log 就可以查看定时任务的文件文件了;  下面这个命令还可以查看crontab的状态service cron status;   查看运行时的文件,如果在文件中执行一条语句后出现 :  No MTA installed, discarding output   则crontab执行时是不会直接错误的信息输出,而是会以邮件的形式发送到邮箱里,需要邮件服务器了,如果没有安装邮件服务器 每星期执行etccron.weekly内的 22 4 * * 0 root run-parts etccron.weekly 每月去执行etccron.monthly内的 42 4 1 * *

    34750

    清除过期的py

    篇和大家分享的是一个清除过期的python,年后第二篇希望对大家有帮助;该python创建的由来代码及分析crontab定时任务该python创建的由来此由来,是在过年假期时突然被反馈告警服务器磁盘空间占用比例增大 来记录的,来打算扩展重写下log4让其具有自动清除的功能,但是想到以后可能还有其他项目的无法自动清除,于是乎有了篇分享的python产出,仅仅配置下检测路径即可删除自定义n天之前的代码及分析先来代码 ,这些文件以.log后缀结尾,并且通过时间限定策略【当前时间+(-n天) > 文创建时间】来识别哪些到期该删除了最后通过执行rm -rf命令直接删除符合时间策略的文件crontab定时任务面只有了清除的 py,但是要定时执行该才能到达自动的目的,不然每次都手动运行py和直接手动删除文件没面太大的区别和省时间,因此这里用到了crontab任务;编辑cron任务如下命令:1 crontab -e编辑cron任务,往里面添加定时每周或者每天执行面的python1 0 0 *1 * * python abcpythonclearDirLog.py > abcpythondolog.log

    17520

    Linux命令之Crontab——定时任务

    command:要执行的命令,可以是系统命令,也可以是自己编写的文件。 2.命令的执行最好用3.权限加binsh,规范路径serverscripts4.时间变量用反斜线转义,最好用5.定时任务添加注释6. >devnull 2>&1 ==>&>devnull,别随意打印文件7.定时任务里面的程序尽量用全路径8.避免不必要的程序以及命令输出9.定时任务之前添加注释10.打包到文件目录的一级知识拓展 所以注意如下3点:1)中涉及文件路径时写全局路径;2)执行要用到java或其他环境变量时,通过source命令引入环境变量,如:cat start_cbp.sh#! 或者查看看某个job有没有执行报错tail -f varlogcron。千万别乱运行crontab -r。它从Crontab目录(varspoolcron)中删除用户的Crontab文件。

    41710

    Crontab无法正常执行问题

    Crontab执行时若有异常首先要到varlog下查看cron文件文件(vi varlogcron),也可以使用用tail -f varspoolmailroot 查看最近的crontab执行情况。 通常在中能够查看到异常都是写的不正确导致的,可以手动执行看下具体原因。 若在中看到正常执行,但是无正确的预期结果,则无非是两种原因:1.环境变量配置不正确 之前在使用crontab调用python执行BCP导入导出时始终无法成功执行,查看也没有任何异常产生, 如下,PATH中加BCP执行环境变量即可SHELL=binbashPATH=sbin:bin:usrsbin:usrbin:optmssql-toolsbinMAILTO=root2.路径问题 有些涉及到文件操作 windows下的文件是dos格式的,而linux只能执行unix格式的,所以crontab会执行失败。

    37160

    轻松使用crontab调度作业

    2. crontab命令 通过crontab 命令,我们可以在固定间隔的时间点执行指定的系统指令或 shell。时间间隔的单位可以是分钟、小时、、月、周及以的任意组合。 ,可以是系统命令,也可以是自己编写的文件。 以下三点需要注意: 中涉及文件路径时写绝对路径;执行要用到环境变量时,通过source命令显式引入,例如:#! 这样积月累,信息会非常大,可能会影响系统的正常运行。因此,将每条任务进行重定向处理非常重要。 生成文件 可以将crontab执行任务的输出信息重定向到一个自定义的文件中,例如: 30 8 * * * rm homesomeusertmp* > homesomeusercronlogsclean_tmp_dir.log

    27730

    mysql备份

    (如果数据少,每天备份一次完整数据即可,可能没必要做增量备份)作者对shell不太熟悉,所以很多地方写的很笨 :)开启 bin log在mysql 4.1版中,默认只有错误,没有其他.可以通过修改配置打开 ,这些文件会消失,并产生新的文件(开始是空的).所以如果从来不备份,开启可能没有必要.完整备份的同时可以调用flush-logs,增量备份之前flush-logs,以便备份最新的数据.完整备份如果数据库数据比较多 ls -al $BakDir面的把mysql备份到地的backupmysql目录,增量备份的文件放在backupmysqldaily目录下.注意:面的并没有把备份后的文件送到其他远程计算机 flush-logs,mysql会自动把内存中的放到文件里,然后生成一个新的文件,所以我们只需要备份前面的几个即可,也就是不备份最后一个.因为从次备份到次备份也可能会有多个文件生成,所以要检测文件 .有2种方法,一种是把根据自己的选择放入到etccron.daily,etccron.weekly这么目录里.一种是使用crontab -e放入到root用户的计划任务里,例如完整备份每周凌晨3点运行

    5620

    通用的进程监控重拉起bashprocess_monitor.sh

    ,只有整体相同时互斥才生效 # 3.对于被监控的进程,可以只指定进程名,也可以包含命令行参数 # 4.不管是监控还是被监控进程,总是只针对属于当前用户下的进程 # # 如果手工运行正常,但在crontab 中运行不正常,则可考虑检查下ps等命令是否可在crontab中正常运行 # 实际中,遇到crontab中运行时,找不到ls和ps等命令 # 原来是有些环境ls和ps位于usrbin目录下,而不是常规的 active=0 # 文件,可能多个用户都在运行, # 所以文件名需要加用户名,否则其它用户可能无权限写 log_filepath=tmpprocess_monitor-$cur_user.log # 文件大小(10M) log_filesize=10485760 # 写函数,带1个参数: # 1) 需要写入的 log() {     # 创建文件,如果不存在的话         `ls --time-style=long-iso -l $log_filepath 2>devnull|cut -d -f5`     # 处理文件过大     # 头,用来区分对不同对象的监控

    47710

    Linux任务计划crontab之备份

    一篇学习了crontab计划任务,接下来就利用这个来备份,只要用到的其实就是cp命令。 首先需要备份的目录:varlogalternatives.log备份到tmplogss下备份文件后面以时间戳结尾date +%Y%m%d%H%M%S操作如下:1、准备一个Shell?#! #回应执行 ? 查看定时任务# crontab -l #查看定时任务?3、重启crond# service crond reload这样就实现了一分钟一次的备份,事实就是一个copy。 事实还可以直接在crontab定时任务中直接写一条命令,不用再弄一个shell:* * * * * cp varlogalternativers.log homeshiyanloutmp$(date

    68540

    centos7下rsync+crontab定期同步备份

    最近需求想定期备份内部重要的服务器数据到存储里面,顺便做个笔记以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat这次整一个Linux下的sh,执行定期自动备份数据 log filelog file指定rsync的文件,而不将发送给syslog。比如可指定为“varlogrsyncd.log”。 transfer logging使rsync服务器使用ftp格式的文件来记录下载和载操作在自己单独的中。 在源代码中同时发布有一个叫rsyncstats的perl程序来统计这种格式的文件。timeout通过该选项可以覆盖客户指定的IP超时时间。 比如crontab执行行中,如果有”date +%Y%m%d”,必须替换为:”date +%Y%m%d”遇到的问题和解决方法:在Windows面编辑了sh到Linux面,执行报错:bad interpreter

    10152

    centos7下rsync+crontab定期同步备份

    最近需求想定期备份内部重要的服务器数据到存储里面,顺便做个笔记以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat这次整一个Linux下的sh,执行定期自动备份数据 log filelog file指定rsync的文件,而不将发送给syslog。比如可指定为“varlogrsyncd.log”。 transfer logging使rsync服务器使用ftp格式的文件来记录下载和载操作在自己单独的中。 在源代码中同时发布有一个叫rsyncstats的perl程序来统计这种格式的文件。timeout通过该选项可以覆盖客户指定的IP超时时间。 比如crontab执行行中,如果有”date +%Y%m%d”,必须替换为:”date +%Y%m%d”遇到的问题和解决办法:在Windows面编辑了sh到Linux面,执行报错:bad interpreter

    29630

    CentOS7下轮转logrotate简单入门与实践

    我们可以根据文件的大小、天数等来转储,便于对文件管理,一般都是通过cron计划任务来完成的1、CentOS7发行版都默认安装有logrotate包 rpm -qa | grep logrotaterpm (图片可放大查看)从面的输出结果可以看到的,logrotate判断该轮循是不必要的2)、即使轮循条件没有满足,我们也可以通过使用‘-f’选项来强制logrotate轮循文件,‘-v’参数提供了详细的输出 (图片可放大查看)二、crontab实现定时任务linux内置的cron进程能帮我们实现定时执行某些任务的需求,cron搭配shell,非常复杂的指令也没有问题。 etccron.d 这个目录用来存放任何要执行的crontab文件或。 我们还可以把放在etccon.hourly、etccon.daily、etccon.weekly、etccon.monthly目录中,让它每小时天星期、月执行一次。?

    39720

    清理

    -p 删除的路径,必输参数 -d 删除 N 天前的文件,即保留 N 天,默认:7 --help 帮助信息 -v, --version 版信息 示例1. 清理 30 天前的文件sh clear-logs.sh -p homenacoslogs -d 30 使用场景Nacos access 清理crontab 定时任务设置$ crontab -e0 2020-06-08 01:00:01 ====>> End cleaning up log files: $ cat clear-logs.sh#! SCRIPT_NAME=$(basename ${0})# 版VERSION=0.0.1 # 默认保留 7 天DAYS=7# 执行目录CLEAR_LOGS_LOG_PATH=tmp$(whoami | grep -e ^#% | sed -e s^#%g -e s${SCRIPT_NAME}${SCRIPT_NAME}g -e s${VERSION}${VERSION}g} # 初始化创建目录

    31410

    MySQL 定时备份数据库(非常全)

    ,加定时执行命令crontab实现自动化生成。 2.执行mysqldump命令保存备份文件,并将操作打印至同目录下的log.txt中标记操作。 创建cron第一步:写cron文件,命名为mysqlRollBack.cron。 搞定 第三步:crontab -l 查看定时任务是否成功或者检测varspoolcron下是否生成对应cron注意:这操作是直接替换该用户下的crontab,而不是新增定期执行编写的定时任务(记得先给 shell执行权限)0 2 * * * rootmysql_backup_script.sh随后使用crontab命令定期指令编写的定时crontab mysqlRollback.cron再通过命令检查定时任务是否已创建

    7850

    MySQL 定时备份数据库(非常全),值得收藏!

    ,加定时执行命令crontab实现自动化生成。 2.执行mysqldump命令保存备份文件,并将操作打印至同目录下的log.txt中标记操作。 创建cron第一步:写cron文件,命名为mysqlRollBack.cron。 搞定 第三步:crontab -l 查看定时任务是否成功或者检测varspoolcron下是否生成对应cron注意:这操作是直接替换该用户下的crontab,而不是新增。 定期执行编写的定时任务(记得先给shell执行权限)0 2 * * * rootmysql_backup_script.sh随后使用crontab命令定期指令编写的定时crontab mysqlRollback.cron

    3020

    扫码关注云+社区

    领取腾讯云代金券