RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1021701
Accepted
MegaRoks
MegaRoks
Asked:2020-09-09 18:08:56 +0000 UTC2020-09-09 18:08:56 +0000 UTC 2020-09-09 18:08:56 +0000 UTC

crontab 没有完全执行脚本

  • 772

我制作了一个脚本来执行数据库备份。

#!/bin/bash
set -e
STORAGE_NAME=folder-backup
BACKUP_NAME=$(date +%y_%m_%d).gz
date
echo "Backing up MongoDB database to storage: $STORAGE_NAME"
echo "Dumping MongoDB $DB database to compressed archive"
mongodump -u user -p 1234 --authenticationDatabase admin --archive=/backup/tmp_dump.gz --gzip
echo "Copying compressed archive to storage: $STORAGE_NAME"
gsutil cp /backup/tmp_dump.gz gs://$STORAGE_NAME/$BACKUP_NAME
echo "Cleaning up compressed archive"
rm /backup/tmp_dump.gz
echo "Backup complete!"

当我手动运行它时,它可以工作并发送备份文件。

Backing up MongoDB database to storage: -backup
Dumping MongoDB  database to compressed archive
2019-09-09T06:03:23.513-0400    writing admin.system.indexes to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.557-0400    done dumping admin.system.indexes (3 documents)
2019-09-09T06:03:23.557-0400    writing config.system.indexes to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.596-0400    done dumping config.system.indexes (2 documents)
2019-09-09T06:03:23.596-0400    writing admin.system.users to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.654-0400    done dumping admin.system.users (2 documents)
2019-09-09T06:03:23.654-0400    writing admin.system.version to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.712-0400    done dumping admin.system.version (2 documents)
2019-09-09T06:03:23.712-0400    writing test.AccountService to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.722-0400    writing test.Settings to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.732-0400    writing test._User to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.747-0400    writing test.NotificationSettings to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.112-0400    done dumping test._User (2506 documents)
2019-09-09T06:03:24.112-0400    writing test._Session to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.131-0400    done dumping test.NotificationSettings (2240 documents)
2019-09-09T06:03:24.131-0400    writing test._PushStatus to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.135-0400    done dumping test.Settings (2522 documents)
2019-09-09T06:03:24.135-0400    writing test.TaxEvent to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.152-0400    done dumping test.AccountService (4887 documents)
2019-09-09T06:03:24.153-0400    writing test.fs.chunks to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.392-0400    done dumping test._Session (2139 documents)
2019-09-09T06:03:24.392-0400    writing test.fs.files to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.555-0400    [........................]  test.fs.files  0/90  (0.0%)
2019-09-09T06:03:24.555-0400    [########################]  test.fs.files  90/90  (100.0%)                                                                                      
2019-09-09T06:03:25.322-0400    done dumping test.TaxEvent (217 documents)                                                                                                      
2019-09-09T06:03:25.322-0400    writing test.CalendarEvent to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:03:25.333-0400    done dumping test._PushStatus (348 documents)                                                                                                   
2019-09-09T06:03:25.333-0400    writing test.UserPurchase to archive '/backup/tmp_dump.gz'                                                                                      
2019-09-09T06:03:25.345-0400    done dumping test.fs.files (90 documents)                                                                                                       
2019-09-09T06:03:25.345-0400    writing test.EventKnowledge to archive '/backup/tmp_dump.gz'                                                                                    
2019-09-09T06:03:25.356-0400    done dumping test.fs.chunks (122 documents)                                                                                                     
2019-09-09T06:03:25.356-0400    writing test.KnowledgeWebsite to archive '/backup/tmp_dump.gz'                                                                                  
2019-09-09T06:03:25.478-0400    done dumping test.CalendarEvent (60 documents)                                                                                                  
2019-09-09T06:03:25.478-0400    writing test._SCHEMA to archive '/backup/tmp_dump.gz'                                                                                           
2019-09-09T06:03:25.518-0400    done dumping test.EventKnowledge (43 documents)                                                                                                 
2019-09-09T06:03:25.518-0400    writing test.News to archive '/backup/tmp_dump.gz'                                                                                              
2019-09-09T06:03:25.553-0400    done dumping test.UserPurchase (45 documents)                                                                                                   
2019-09-09T06:03:25.553-0400    writing test.objectlabs-system.admin.collections to archive '/backup/tmp_dump.gz'                                                               
2019-09-09T06:03:25.565-0400    done dumping test.KnowledgeWebsite (26 documents)                                                                                               
2019-09-09T06:03:25.565-0400    writing test.objectlabs-system to archive '/backup/tmp_dump.gz'                                                                                 
2019-09-09T06:03:25.643-0400    done dumping test._SCHEMA (13 documents)                                                                                                        
2019-09-09T06:03:25.643-0400    writing test._GlobalConfig to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:03:25.711-0400    done dumping test.News (5 documents)                                                                                                            
2019-09-09T06:03:25.711-0400    writing test._Installation to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:03:25.753-0400    done dumping test.objectlabs-system.admin.collections (3 documents)                                                                             
2019-09-09T06:03:25.753-0400    writing test._Role to archive '/backup/tmp_dump.gz'                                                                                             
2019-09-09T06:03:25.806-0400    done dumping test._GlobalConfig (1 document)                                                                                                    
2019-09-09T06:03:25.824-0400    done dumping test.objectlabs-system (1 document)                                                                                                
2019-09-09T06:03:25.863-0400    done dumping test._Installation (0 documents)                                                                                                   
2019-09-09T06:03:25.863-0400    done dumping test._Role (0 documents)                                                                                                           
Copying compressed archive to storage: folder-backup                                                                                                                        
Copying file:///backup/tmp_dump.gz [Content-Type=application/octet-stream]...                                                                                                   
| [1 files][ 13.4 MiB/ 13.4 MiB]                                                                                                                                                
Operation completed over 1 objects/13.4 MiB.                                                                                                                                    
Cleaning up compressed archive                                                                                                                                                  
Backup complete! 

我决定做这个任务。

* * * * * /mongo_backup.sh >> /mongo_backup.log  

文件mongo_backup.log被写入

Mon Sep  9 05:57:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 05:58:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 05:59:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 06:00:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 06:01:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 06:02:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup

该文件mongo_backup.log缺少行

Copying file:///backup/tmp_dump.gz [Content-Type=application/octet-stream]...                                                                                                   
| [1 files][ 13.4 MiB/ 13.4 MiB]                                                                                                                                                
Operation completed over 1 objects/13.4 MiB.                                                                                                                                    
Cleaning up compressed archive                                                                                                                                                  
Backup complete! 

它从我的购物车中丢失了。

为什么会这样?该脚本手动运行良好,发送了数据库备份文件,但crontab发送失败。

Mon Sep  9 06:18:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
2019-09-09T06:18:03.950-0400    writing admin.system.indexes to archive '/backup/tmp_dump.gz'  
2019-09-09T06:18:03.990-0400    done dumping admin.system.indexes (3 documents)                                                                                                 
2019-09-09T06:18:03.990-0400    writing config.system.indexes to archive '/backup/tmp_dump.gz'                                                                                  
2019-09-09T06:18:04.030-0400    done dumping config.system.indexes (2 documents)                                                                                                
2019-09-09T06:18:04.030-0400    writing admin.system.users to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:04.087-0400    done dumping admin.system.users (2 documents)                                                                                                   
2019-09-09T06:18:04.087-0400    writing admin.system.version to archive '/backup/tmp_dump.gz'                                                                                   
2019-09-09T06:18:04.144-0400    done dumping admin.system.version (2 documents)                                                                                                 
2019-09-09T06:18:04.144-0400    writing test.AccountService to archive '/backup/tmp_dump.gz'                                                                                    
2019-09-09T06:18:04.152-0400    writing test.Settings to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.160-0400    writing test._User to archive '/backup/tmp_dump.gz'                                                                                             
2019-09-09T06:18:04.175-0400    writing test.NotificationSettings to archive '/backup/tmp_dump.gz'                                                                              
2019-09-09T06:18:04.567-0400    done dumping test.AccountService (4887 documents)                                                                                               
2019-09-09T06:18:04.567-0400    writing test._Session to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.574-0400    done dumping test.Settings (2522 documents)                                                                                                     
2019-09-09T06:18:04.575-0400    writing test._PushStatus to archive '/backup/tmp_dump.gz'                                                                                       
2019-09-09T06:18:04.642-0400    done dumping test.NotificationSettings (2240 documents)                                                                                         
2019-09-09T06:18:04.642-0400    writing test.TaxEvent to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.652-0400    done dumping test._User (2506 documents)                                                                                                        
2019-09-09T06:18:04.652-0400    writing test.fs.chunks to archive '/backup/tmp_dump.gz'
2019-09-09T06:18:04.855-0400    done dumping test.TaxEvent (217 documents)                                                                                                      
2019-09-09T06:18:04.855-0400    writing test.fs.files to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.951-0400    done dumping test._PushStatus (348 documents)                                                                                                   
2019-09-09T06:18:04.951-0400    writing test.CalendarEvent to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:04.955-0400    [#######################.]  test.fs.chunks  119/122  (97.5%)                                                                                    
2019-09-09T06:18:04.955-0400    done dumping test._Session (2139 documents)                                                                                                     
2019-09-09T06:18:04.955-0400    writing test.UserPurchase to archive '/backup/tmp_dump.gz'                                                                                      
2019-09-09T06:18:04.982-0400    [########################]  test.fs.chunks  122/122  (100.0%)                                                                                   
2019-09-09T06:18:05.958-0400    done dumping test.fs.files (90 documents)                                                                                                       
2019-09-09T06:18:05.958-0400    writing test.EventKnowledge to archive '/backup/tmp_dump.gz'                                                                                    
2019-09-09T06:18:05.969-0400    done dumping test.fs.chunks (122 documents)                                                                                                     
2019-09-09T06:18:05.969-0400    writing test.KnowledgeWebsite to archive '/backup/tmp_dump.gz'                                                                                  
2019-09-09T06:18:05.988-0400    done dumping test.UserPurchase (45 documents)                                                                                                   
2019-09-09T06:18:05.988-0400    writing test._SCHEMA to archive '/backup/tmp_dump.gz'                                                                                           
2019-09-09T06:18:06.148-0400    done dumping test.CalendarEvent (60 documents)                                                                                                  
2019-09-09T06:18:06.148-0400    writing test.News to archive '/backup/tmp_dump.gz'                                                                                              
2019-09-09T06:18:06.163-0400    done dumping test._SCHEMA (13 documents)                                                                                                        
2019-09-09T06:18:06.163-0400    writing test.objectlabs-system.admin.collections to archive '/backup/tmp_dump.gz'                                                               
2019-09-09T06:18:06.175-0400    done dumping test.EventKnowledge (43 documents)                                                                                                 
2019-09-09T06:18:06.175-0400    writing test.objectlabs-system to archive '/backup/tmp_dump.gz'                                                                                 
2019-09-09T06:18:06.188-0400    done dumping test.KnowledgeWebsite (26 documents)                                                                                               
2019-09-09T06:18:06.188-0400    writing test._GlobalConfig to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:06.299-0400    done dumping test.News (5 documents)                                                                                                            
2019-09-09T06:18:06.299-0400    writing test._Installation to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:06.349-0400    done dumping test.objectlabs-system.admin.collections (3 documents)                                                                             
2019-09-09T06:18:06.349-0400    writing test._Role to archive '/backup/tmp_dump.gz'                                                                                             
2019-09-09T06:18:06.372-0400    done dumping test.objectlabs-system (1 document)                                                                                                
2019-09-09T06:18:06.378-0400    done dumping test._GlobalConfig (1 document)                                                                                                    
2019-09-09T06:18:06.449-0400    done dumping test._Role (0 documents)                                                                                                           
2019-09-09T06:18:06.449-0400    done dumping test._Installation (0 documents)                                                                                                   
Copying compressed archive to storage: folder-backup                                                                                                                        
/mongo_backup.sh: line 10: gsutil: command not found 
linux
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    user341547
    2020-09-09T20:55:28Z2020-09-09T20:55:28Z

    我从评论中总结了答案:

    1. 要分析在 cron 中运行作业的问题,您需要截取 stderr 流并将其写入日志,您可以这样做:*

      * * * * * /mongo_backup.sh >> /mongo_backup.log 2>&1
      
    2. 养成在 cron 作业中指定环境变量和 shell 的习惯*

      SHELL=/bin/bash
      PATH=/sbin:/bin:/usr/sbin:/usr/bin
      MAILTO=user
      HOME=/home/user
      
      1. 可以不指定环境变量,但在脚本中指定可执行程序的绝对路径

    题外话:在每分钟运行一次脚本时,建议通过flock -w0 /var/run/1.lock /mongo_backup.shcron作业的命令来保护自己免于多次执行,以此类推:

    * * * * * flock -w0 /var/run/mongo_backup.lock /mongo_backup.sh 2>&1 >> /mongo_backup.log
    

    现在创建备份的过程不会花费太多时间,但是随着数据量的增加或设备负载的增加,归档可能不会在分配的分钟内结束,并且会发生重新启动。

    • 2

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5