代码之家  ›  专栏  ›  技术社区  ›  moabdelaziz

如何从另一个bash脚本运行bash脚本源并调用相应的函数。通过crontab

  •  0
  • moabdelaziz  · 技术社区  · 2 年前
    • 打开终端后,我键入以下命令:
    moabdelaziz@pop-os:\~$ crontab -r
    
    
    • 并安排了任务:
    * * * * * /bin/bash /home/moabdelaziz/Backups/backup.sh >> /home/moabdelaziz/output.txt
    
    • 备份.sh
    
    #!/bin/bash
    
    TargetDir=/home/mohamed/Date
    TargetBackup=/home/mohamed/Backup
    EncryptionKey="PASS"
    days=12
    
    source ../backup_restore_lib.sh
    
    validate_backup_params ${TargetDir} ${TargetBackup} ${EncryptionKey} ${days}
    backup ${TargetDir} ${TargetBackup}
    
    
    • backup_restore_lib.sh包含这些函数
    
    validate_backup_params {...}
    Encryption {...}
    Decryption {...}
    remote_server {...}
    backup {...}
    validate_restore_params {...}
    restore {...}
    
    

    不幸的是,它不起作用:(。

    有人能指出我做错了什么吗?提前感谢!

    0 回复  |  直到 2 年前
        1
  •  1
  •   Ljm Dullaart    2 年前

    通常,crontab脚本是在用户的主目录中执行的。这意味着你的

    source ../backup_restore_lib.sh
    

    将查找文件 /home/backup_restore_lib.sh 到来源。

    最好输入要源文件的绝对路径。