3月 23

脚本放入crontab不能运行

【整理:张子萌】

linux下编写shell脚本,手动运行正常,但是放到crontab中,就不能正常运行了,这是环境变量的问题。即使使用同一个账户,手动登陆和crontab自动运行所加载的环境变量也是不同的。

有两种方法可以解决:

1. 比较简单,应该在shell编写时就注意。

在shell脚本的头部添加”. $HOME/.bash_profile”(要注意前面有个点,点后面是空格,之后是环境变量位置)。

也可以直接写环境变量的绝对位置。如test用户的根目录在/home/test下可以在shell头部添加”. /home/test/.bash_profile”

2.比较紧急情况,再确认可以手动执行脚本情况下,可以使用另一种方法。使用root权限调用shell脚本。

如果有/home/test/test.sh需要每分钟运行一次,可以使用root登陆,在root的crontab中添加如下:

# crontab -e

*/1 * * * * /home/test/test.sh

3月 23

快捷命令收集

1.快速切换到上次访问目录。

linux中操作经常在两个目录中切换。简单操作方法,在命令行输入“cd -”即可跳转到上次访问目录。

2.转换文本文件编码

iconv -f gbk -t utf8 test.txt > test.txt.utf8

参数:-f 输入编码 -t ENCODING 输出编码 -l 列出支持的编码 -s 不显示有关转换出错的信息