linux定时shell脚本
A. linux定时任务shell脚本开头如下 cd ~ . .bash_profile 定时任务执行后提示找不到.bash_profile什么情况
.bash_profile 文件确实是一个隐藏文件,它通常位于用户的主目录下。如果你在执行定时任务时遇到找不到 .bash_profile 的问题,可以先尝试直接运行 1.sh 脚本,即去掉 ./ 前缀,看看是否能执行成功。如果这样可以执行,说明问题出在 1.sh 脚本执行过程中改变了当前工作目录。
检查 1.sh 脚本中的路径设置,确保脚本中没有改变当前目录的命令,如 cd 命令。如果脚本中有这样的命令,可以考虑将这些路径修改为绝对路径,或者在脚本开头记录当前工作目录并重新切换回该目录。
此外,可以尝试在 1.sh 脚本中添加一些调试信息,比如使用 echo 命令输出当前工作目录,以便检查脚本执行时的具体路径。这样可以更直观地了解脚本执行过程中当前路径的变化情况。
如果你确定脚本中没有改变路径的命令,但依然遇到问题,可以考虑检查定时任务的配置文件,确认定时任务是否正确指向了 1.sh 脚本。通常,定时任务的配置文件会指定脚本的绝对路径或相对路径,确保这里没有误操作。
最后,确保你的定时任务配置文件中有适当的环境变量设置,以确保脚本能够正确运行。你可以在定时任务配置文件中添加一些环境变量设置命令,如 export 命令,以确保脚本运行时能够访问到必要的环境变量。
总结来说,遇到找不到 .bash_profile 的问题时,首先要确保脚本本身没有改变路径,其次检查定时任务配置文件和环境变量设置是否正确。通过调试信息和环境变量的设置,可以更好地定位问题所在。
B. linux中怎么让一个shell脚本分别在凌晨00点和中午12点运行一次
创建一个新的crontab文件
向cron进程提交一个crontab文件之前,首先要设置环境变量EDITOR。编辑$HOME目录下的. profile文件,在其中加入这样一行:
EDITOR=vi;exportEDITOR
然后保存并退出。创建一个名为testcron的文件,内容如下:
#runtest.sheveryhalfday
*0,12***/home/username/test.sh
保存并退出。然后提交这个任务:
$ crontab testcron
C. 在linux下怎么让一个脚本定时运行
Linux中,周期执行的任务一般由cron这个守护进程来处理 ps -ef | grep cron
cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件称为“crontab”,是“cron table”的简写。