脚本执行报错 cp: cannot stat '/home/dar/app/log_back'$'\r''/nohup.out': No such file or d

背景

针对线上nohup日志较大,需要进行拆分,所以写了一个脚本文件,用来定时执行(或者手动执行)

脚本一
log_dir="/home/dar/app/log_back"
# 拷贝日志文件到昨天的log中
cp $log_dir/nohup.out $log_dir/nohup-$(date +"%Y%m%d_%H%M%S").log
# 清空nohup.out日志
truncate -s 0 $log_dir/nohup.out
# 删除14天以前的日志
find $log_dir -mtime +14 -name 'nohup*.log' -delete
脚本二
log_dir="/qtl/interphone"
# 拷贝日志文件到昨天的log中
cp $log_dir/nohup.out $log_dir/nohup`date -d yesterday +%Y%m%d`.log
# 清空nohup.out日志
echo > $log_dir/nohup.out
# 删除14天以前的日志
find $log_dir -mtime +14 -name 'nohup*.log' -exec rm -rf {} \;
这个脚本,看起来是没有问题的,但是传输到linux服务器上后,执行,就会报错,找不到路径,看错误信息,就是一些乱七八糟的字符影响了
truncate: cannot open '/home/dar/app/log_back'$'\r''/nohup.out'$'\r' for writing: No such file or directory
'ind: unknown predicate `-delete`
然后,需要使用dos2unix命令或者sed来移除Windows风格的行结束符

sed -i 's/\r//' log.sh

移除后,再次执行脚本,可以正常执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值