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中

原文地址:https://www.cnblogs.com/pinpin/p/14312969.html