centos上freefilesync与定时任务
环境说明
Linux版本:centos7.3
Freefilesync版本:11.5
上一篇主要说明centos上安装Freefilesync(https://www.cnblogs.com/pinpin/p/14312944.html),我这里忽略了同步设置,大家根据需要设置同步了,这里就略过了,主要我来强调下,生成批量脚本作业,记住了,这边建议将精度对话框和忽略错误都勾选上。
脚本生成好后,我们当然希望是通过centos自动让文件同步了,所以我们需要先写一个sh脚本文件,并将脚本文件通过crontab定时执行
1、test.sh文件内容(仅供参考)
test.sh是编写的centos可执行脚本,脚本内容如下:
#!/bin/sh sersync="/home/FreeFileSync/FreeFileSync" #FreeFileSync可执行程序位置 confxml="/home/test1/BatchRun1.ffs_batch" #FreeFileSync生成的批处理作业脚本位置 status=$(ps aux |grep 'FreeFileSync'|grep -v 'grep'|wc -l) if [[$status=0] || [$status=1] || [$status=2] || [$status=3]]; then exit 0 else $sersync $confxml Fi
注意:status的0|1|2|3状态,分别对应FreeFileSync返回的四种状态
0-同步成功完成
1-同步完成并显示警告
2-同步完成并出现错误
3-同步已中止
2、centos中设置定时
我们直接在系统中进行定义,命令:gedit /etc/crontab
添加脚本:
*/1 * * * * root DISPLAY=:0 /home/test.sh > /dev/123.log 2>&1
说明:
“*/1 * * * * ”:每分钟执行一次
“root”:以root用户执行脚本
“DISPLAY=:0”:这句必须添加,原因脚本中需要调用FreeFileSync的图形界面,这个图形界面centos直接运行不了,如不添加执行不了,并且报错:Error: Unable to initialize GTK+, is DISPLAY set properly?
“/home/test.sh”:可执行脚本的绝对位置,注意,这边位置必须添加绝对位置
“/dev/123.log 2>&1”:将标准错误输出到/dev/123.log中