linux - 在 bash 脚本中运行 tar 返回 "Output with bankrupt according to previous errors"

标签 linux bash centos backup

请不要说我有重复的帖子(我知道这是一个常见问题),但我想知道我的错误并从中学习

问题是为什么这个脚本对我不起作用?我想找出我做错了什么

操作系统 Centos 6

问题:我需要压缩并发送位于此目录中的一些文件 /home/teamportal/data/filestorage/www/_cron_db_bak

我在网上查找和粘合的内容

#!/bin/bash
day=$(date +%F)
Folder="/home/teamportal/data/filestorage/www/_cron_db_bak"
File="/root/backup/$day.tar"
tar cvf $File $Folder
cat /home/mailmessage.txt |mutt -a $File -s "BACKUP Database" -- mail1@gmail.com mail2@somedomain.com mail3@gmail.com
find $File* -mtime +90 -exec rm {} \;

错误

tar: Removing leading `/' from member names
tar: /home/teamportal/data/filestorage/www/_cron_db_bak\r\r: stat failed: No such file or directory
tar: Output with bankrupt according to previous errors
find: missing argument to `-exec'

顺便说一句,邮件已发送,但文件已损坏,查看目录时我注意到

ls /root/backup
^M^M    2015-02-25^M.tar^M     2015-02-25^M.tar.gz^M    

感谢任何人让我明白我做错了什么。

干杯

编辑: 感谢您让我了解问题(在本例中为 Windows)

所以我与其他人分享我制作的脚本,以防他们需要

http://pastebin.com/uabfLjQW

干杯

最佳答案

您在脚本中混合了 Windows 和 Unix 的行尾

如果您使用 od -x myScript.sh 查看它,您将看到混合字符 0a 和 0d 表示行尾。

确保正确修复它(例如使用 vi )并且您的脚本应该可以工作

关于linux - 在 bash 脚本中运行 tar 返回 "Output with bankrupt according to previous errors",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28708810/

相关文章:

linux - 每次程序终止时运行的 cron 中的 Bash 程序

docker - 发生错误 :Nosuch container? 时如何将文件复制到 docker 容器

sql-server - 从 Linux 使用 Perl 连接到 SQL Server 2012 时出现问题

linux - 如何通过 linux/unix 命令从目录中的所有 30 个文件中删除 "<MAXROWS/>"字符串?

arrays - 传递给函数后在 bash 中获取数组长度时出错

BASH 脚本传递键值数组

apache - 为 Varnish 配置更改 httpd 配置上的监听端口

java - 使用eclipse连接远程hadoop服务器

linux - Autotools 和一个带有普通 Makefile 的嵌套项目工程

python - Kerberos 票证在 LINUX RHEL7 上过期