Linux下添加任务计划,计划内容以sh文件表示

发布网友 发布时间:2022-02-26 10:00

我来回答

3个回答

热心网友 时间:2022-02-26 11:29

sh文件内容:

#/bin/sh
DATE=`date +%Y%m%d`
cd /your/log/path/
for f in *; do
cp $f  /path/to/save/$DATE_$f;
done

记得要给这个文件加可执行权限: chmod a+x   xxx.sh


加入到计划任务是crontab -e  

然后就像使用vi一样加入一行 (每天的2点01分执行)

01 02 * * * /path/to/your/xxx.sh

保存退出。然后如果是RH系统最好重启一下crond 服务,就OK了。

追问你好。谢谢回答。

回复迟了,请见谅。

刚才试了一下,虽然可以正常的拷贝,但是新文件并没有被改为添加了当天日期的文件。
这和权限或者执行的目录有关吗?我是直接在要拷贝文件的目录下以root权限来执行的。

for f 中的f代表的是file,文件的意思吗?

另外,备份的同时,怎么能删除n天前创建的文件呢?能同时解答一下吗?

完全新手,不好意思啊。

加分求解答。

追答

for f 中的f 是会换成当前文件的。


#/bin/sh
cd /your/log/path/
for f in *; do
  cp $f  /path/to/save/`date +%Y%m%d`_$f;
done
#这句会删除当前目录中10*24小时之前创建的文件,就是10天前的。
find . -ctime +10 -exec rm -f {} \;

 要注意`date +%Y%m%d` 两边是反引号,就是键盘TAB上面1前面那个键。不要打错。

热心网友 时间:2022-02-26 12:47

cp */*.log /aa/*.log.1

命名这个你可以看脚本啊,一直是放在一个文件夹下面的话,你就要先判断这个文件是不是存在,不存在的话,就直接存储,如果存在的话就加1,一直循环。
计划任务里面只要添加每天规定的时间执行就好了!

热心网友 时间:2022-02-26 14:22

首先编辑一个文件mysh, 可以参考/etc/profile, 里面#号后面都是注释内容,不用管。文件内容大致如下:
myd=$(date +%Y%m%d)
cp /var/log/boot.log /ding/log/boot.$myd.log

修改mysh文件为可执行文件, 加入用户的crontab文件中。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com