“Wiki.js”与“Wiki异地备份脚本”:页面之间的差异
(页面间差异)
无编辑摘要 |
小 导入1个版本 |
||
第1行: | 第1行: | ||
=脚本主体= | |||
<pre> | |||
#!/bin/bash | |||
#run on root user file name tran | |||
#var | |||
#on freebsd yesterday | |||
TODAY=`date -v -1d +%Y%m%d` | |||
#on linux | |||
#TODAY=`date +%Y%m%d` | |||
#TODAY=`date -d '1 days ago' +%Y%m%d` #yesterday | |||
#20180813 | |||
[[category: | #显示前一天为 | ||
#DATE1=`date -d '1 days ago' +%Y%m%d` 加-d参数可以设置与当前日期的计算时间,同样,前2天为'2 days ago',去掉ago则为当前日期之后多少天 | |||
rsync -avz /data/www/wiki.linuxchina.net/ /home/evan/wiki/ | |||
cp -a /data/backup/wikilinuxchina_${TODAY}.sql.gz /home/evan/ | |||
sleep 4 | |||
chown -R evan:evan /home/evan | |||
su - evan -c "rsync -avz /home/evan/wiki/ evan@45.77.26.20:~/wikibak/" | |||
su - evan -c "rsync -avz /home/evan/wikilinuxchina_${TODAY}.sql.gz evan@45.77.26.20:~/wikibak/" | |||
rm -f /home/evan/wikilinuxchina_${TODAY}.sql.gz | |||
#10 20 * * * /bin/bash /data/mon/tran 2>&1 >/dev/null | |||
</pre> | |||
=知识点= | |||
shell脚本中使用其他用户执行脚本 | |||
su - root -c "ls -l /root" | |||
<pre> | |||
Warning: Permanently added '119.23.28.89' (RSA) to the list of known hosts. | |||
root@119.23.28.89's password: | |||
bash: rsync: command not found | |||
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] | |||
rsync error: remote command not found (code 127) at io.c(226) [Receiver=3.1.2] | |||
原因server 没有安装rsync</pre> | |||
=see also= | |||
[https://www.cnblogs.com/bodhitree/p/6018369.html 其他用户身份运行程序—— su、sudo、runuser] | |||
[https://www.cnblogs.com/bigben0123/archive/2013/05/07/3064843.html shell脚本中使用其他用户执行脚本] | |||
[https://blog.csdn.net/ljx0305/article/details/4278836 FreeBSD下取得昨天日期的方法] | |||
[[category:shell]] [[category:ops]] |
2019年10月14日 (一) 13:55的最新版本
脚本主体
#!/bin/bash #run on root user file name tran #var #on freebsd yesterday TODAY=`date -v -1d +%Y%m%d` #on linux #TODAY=`date +%Y%m%d` #TODAY=`date -d '1 days ago' +%Y%m%d` #yesterday #20180813 #显示前一天为 #DATE1=`date -d '1 days ago' +%Y%m%d` 加-d参数可以设置与当前日期的计算时间,同样,前2天为'2 days ago',去掉ago则为当前日期之后多少天 rsync -avz /data/www/wiki.linuxchina.net/ /home/evan/wiki/ cp -a /data/backup/wikilinuxchina_${TODAY}.sql.gz /home/evan/ sleep 4 chown -R evan:evan /home/evan su - evan -c "rsync -avz /home/evan/wiki/ evan@45.77.26.20:~/wikibak/" su - evan -c "rsync -avz /home/evan/wikilinuxchina_${TODAY}.sql.gz evan@45.77.26.20:~/wikibak/" rm -f /home/evan/wikilinuxchina_${TODAY}.sql.gz #10 20 * * * /bin/bash /data/mon/tran 2>&1 >/dev/null
知识点
shell脚本中使用其他用户执行脚本
su - root -c "ls -l /root"
Warning: Permanently added '119.23.28.89' (RSA) to the list of known hosts. root@119.23.28.89's password: bash: rsync: command not found rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync error: remote command not found (code 127) at io.c(226) [Receiver=3.1.2] 原因server 没有安装rsync