1. sh文件无法执行
报错提示有^M或\r之类的,尝试运行下面代码
sed 's/\r//' -i 你的sh文件名.sh
2. 查看文件权限
lsattr 文件
3. crontab -e编辑保存显示没有权限
可能是crontab有特殊权限,通过lsattr命令查看权限
lsattr /var/spool/cron/
看到会有ai权限
依次执行一下命令,去掉权限
chattr -ai /etc/bin/cron.d
chattr -ai /var/spool/cron
chattr -ai /var/spool/cron/root
如果提示chattr也没有权限,应该是中病毒了,被修改了权限
执行下面命令,回复chattr,再次执行上面命令
cd /usr/bin
cp chattr chattr.new
chmod u+x chattr.new
chattr.new -i chattr
rm -rf chattr.new
chmod u+x chattr
4. crontab每秒执行
编辑一下sh
#!/bin/bash
step=秒数,必须是60能整除的
for((i=0;i<60;i=(i+step))); do
要执行的命令
sleep $step
done
exit 0
然后在crontab中就可以这样写
* * * * * sh 你的sh文件
5. nohup按天生成日志
sh可以这样写
sh 你的sh文件 >> 你的日志文件`date +%Y%m%d`.log